考虑以下简单的PHP代码:
<?php
$db=new mysqli('localhost', 'root','','apeirosto');
$query="UPDATE REQUESTS SET STATUS=1 where requestid=155";
$result=$db->query($query);
if (!($result)) {
$message= "fail_update";
echo $message;
}
else
{
$message= "success";
echo $message;
}
?>
我的第二个问题:
$result=$db->query($query);
扮演DB中提交的角色?
我的主要问题:
即使PK requesttid = 155没有行,$ result返回true,我得到的消息是“成功”... 为什么?在这种情况下,如何收到错误消息?
谢谢
答案 0 :(得分:3)
只有在执行时出错时,查询方法才会返回false。如果没有发生任何更改,则没有错误,因此查询返回false以外的其他内容。
您可以使用affected_rows
属性检查所有行是否已更新。它返回查询后更改的行数。