我正在使用mysql和php,我试图测试错误处理的调用,但我不明白为什么这不会给出错误。我执行以下行:为什么这不会出错
if (! mysql_query("UPDATE Accounts SET disabled='0' WHERE id='15'")) { ... }
这里的场景......有一个叫“帐户”表,但没有与15的ID(这是主键)的记录。我已经从命令行和通过网页浏览器尝试过了,但是这行代码没有问题。我检查了这个PHP手册,这里是他们的页面报价:
For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.
为什么这不会产生一个错误?任何帮助将不胜感激!
导致没有更改的更新不是错误。 – Mat 2013-05-03 15:49:50
您的声明不会更新任何行,但这不被视为错误。它成功执行是因为没有像“未定义列”,“表不存在”,“无法连接”等错误。有些情况下,您想针对匹配WHERE条款的行发布更新,如果更新没有找到任何东西,那就没关系。 – 2013-05-03 15:50:59
感谢输入帮派,我会重构代码以考虑这一点。 – user1646428 2013-05-03 16:49:39