我正在寻找检查并查看查询是否返回任何结果的最佳方法。我觉得我经常写这部分代码,有时会出错,有时却没有。
例如,我运行此查询以检查是否存在用户名,然后再将新用户名插入数据库。
$result = mysql_query("SELECT * FROM ...");
然后,我想检查一下是否返回了任何结果。这是我这样做的一种方式:
if (!$result) { PERFORM ACTION }
如果第一种方法不起作用,那么有时它将:
if (mysql_num_rows($result)==0) { PERFORM ACTION }
然后,我什至看到前几天可以这样做:
list($total) = mysql_fetch_row($result); if ($total==0) { PERFORM ACTION }
做这个的最好方式是什么?
对于PHP 5和7及更高版本,请使用mysqli:
if (mysqli_num_rows($result)==0) { PERFORM ACTION }
这获得了我的投票。
OP假设查询未返回任何错误,因此这应该是一种方法