- ベストアンサー
updata に失敗した時の返り値は??
質問があるのですがよろしくお願いします。 PHP5で、 $res = $db->query("update AAA set BBB=1 where CCC=2"); などとした時、 where節で該当するレコードが一つもなく、updateに失敗した時、$resにはどのような値が返るのでしょうか?? またPHPの組み込み関数やPearによって、その$resから何か値を得ることは可能でしょうか?? どなたか分かる方いらっしゃいましたらご教授頂けると幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>where節で該当するレコードが一つもなく、updateに失敗した updateの場合もdeleteの場合も、対象レコードが無い=失敗ではありません。 SQLとしては「0件」の更新・削除をしたと見なされるだけです。 1件更新されたら正常と考えるのか? あるいは、 2件以上更新されないとエラーとするのか? など「プログラムとして、何が正常で何が異常なのか?」は、 その処理の内容次第ですので「0件の場合はエラー」としたいならば、 処理された件数を自分でチェックしてやる必要があります。 DB_common::affectedRows http://pear.plus-server.net/package.database.db.db-common.affectedrows.html mysql_affected_rows http://jp.php.net/manual/ja/function.mysql-affected-rows.php pg_affected_rows http://jp.php.net/manual/ja/function.pg-affected-rows.php
お礼
お礼が遅くなり申し訳ありません! 回答ありがとうございました。 とても参考になりましたm(_ _)m