古い参考書はmysql関数を使用していると思いますが、現在これは非推奨とされているので、
もしこれを使用されているならばmysqli関数・mysqliクラス・PDOクラスのどれかに切り替えてください。
一番のおすすめはPDOです。
例外を自動的にスローさせるのはPDOだけの機能です。
さらにPDOそのままだと少し使いにくいので、こんな感じにラッパークラスを作ることをおすすめします。
http://qiita.com/mpyw/items/6539a0a65240103a5d43
これを使って
<?php
try {
____
____//パラメータ受け取り
____$id = isset($_POST['id']) ? (int)$_POST['id'] : 0;
____$hoge = isset($_POST['hoge']) && is_string($_POST['hoge']) : $_POST['hoge'] : '';
____
____//データベースに接続
____$db = new Database('testdb');
____
____//UPDATE
____$sql = 'UPDATE mytable SET hoge = ? WHERE id = ?';
____$params = array($hoge, array($id, PDO::PARAM_INT));
____$num = $db->execute($sql, $params)->rowCount();
____if (!$num) {
________throw new Exception("id={$id}の行は見つかりませんでした");
____}
____echo "id={$id}の行({$num}個)を更新しました<br />\n";
____
____//SELECT
____$sql = 'SELECT * FROM mytable WHERE id = ?';
____$params = array(array($id, PDO::PARAM_INT));
____$stmt = $db->execute($sql, $params);
____$num = $stmt->rowCount();
____echo "id={$id}の行({$num}個)を取得しました<br />\n";
____foreach ($stmt as $row) {
________printf("id: %d; hoge: %s;<br />\n", $row->id, $row->hoge);
____}
____
} catch (Exception $e) {
____
____//例外が発生した場合
____printf("Error: %s<br />\n", $e->getMessage());
____
}
みたいな感じでどうですか。
デバッグしてないので細かいミスあったらごめんなさい。
お礼
すみません、ご丁寧にありがとうございます。おかげで解決しました!