一尘不染

检查MySQL结果是否以PHP返回的最佳方法?

mysql

我正在寻找检查并查看查询是否返回任何结果的最佳方法。我觉得我经常写这部分代码,有时会出错,有时却没有。

例如,我运行此查询以检查是否存在用户名,然后再将新用户名插入数据库。

$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 }

做这个的最好方式是什么?


阅读 226

收藏
2020-05-17

共1个答案

一尘不染

if (mysql_num_rows($result)==0) { PERFORM ACTION }

对于PHP 5和7及更高版本,请使用mysqli:

if (mysqli_num_rows($result)==0) { PERFORM ACTION }

这获得了我的投票。

OP假设查询未返回任何错误,因此这应该是一种方法

2020-05-17