当前位置: 首页 > 面试题库 >

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

夹谷鸿福
2023-03-14
问题内容

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

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

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

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


问题答案:
if (mysql_num_rows($result)==0) { PERFORM ACTION }

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

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

这获得了我的投票。

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



 类似资料:
  • 我对Laravel还比较陌生,正在寻找检查模型是否返回任何结果的最佳方法。 如果未找到结果,下面的示例将返回。如果你只想要第一个结果,这是完美的。 下面的示例将返回一个对象,而不管是否有任何结果。 因此,我现在不得不这样做,每次: 我有调用各种模型的方法,所有这些函数的代码看起来既丑陋又低效。 仅供参考,由于我们的PHP版本(不在我的控制范围内),我目前正在使用Laravel 5.1。

  • 问题内容: 查看URL存在并且响应不是404的最佳方法是什么? 问题答案: 您可以使用 手册中的示例2 : 第一个数组元素将包含HTTP响应状态代码。您必须解析它。 请注意,示例中的函数将发出HTTP HEAD请求,这意味着它将不会获取URL的正文。这比使用GET请求(也将返回正文)更有效。 还要注意,通过设置 默认 上下文,任何使用http流上下文的后续调用现在都将发出HEAD请求。因此,确保完

  • 问题内容: 我有一个游标,带有来自选择的值,我想根据我是否发现任何行来做点什么。 这似乎不起作用,有帮助吗? 问题答案: 您需要在使用%FOUND属性之前对游标执行FETCH。将您的代码更改为类似 请注意,您可能需要将变量添加到FETCH语句的INTO子句中,在TABLE1和TABLE2中的每一列都需要添加一个变量。还要注意,编写此游标的方式可能会获得比预期更多的返回行。因为没有指定连接条件,所以

  • 问题内容: 拜托,有人能告诉我我在做什么错吗?我只是从表中检索结果,然后将它们添加到数组中。一切正常,直到我检查结果为空为止。 这将获得匹配项,将其添加到我的数组中,并按预期回显结果: 当我尝试检查空结果时,我的代码返回“空”,但不再产生匹配结果: 与往常一样,我们将提供任何帮助。谢谢! 问题答案: 您这样做时会丢掉结果行。那不是您检查是否有任何结果的方法。你做 相关文档在这里:http : //

  • 问题内容: 如果行达到一定数量,我想压缩结果。 然后,客户端程序将解压缩结果和过程。 这是具有客户端/服务器体系结构的桌面,某些客户端通过vpn连接。 客户端连接后,它将向服务器发送数据。服务器完成处理后,客户端将从服务器下载更新的数据。 客户位于几个城镇,平均50-100公里。离开。他们将使用vpn通过Internet连接。但这是使用vpn或其他方式实施的最初计划,但尚未实施。 问题答案: 有一

  • 问题内容: 如果我运行查询,例如: 即使查询与任何记录都不匹配,它也会始终返回结果吗?还是我需要验证并确保结果返回一行? 问题答案: 是的,因为它是一个聚合并且返回零。除非您添加GROUP BY,否则由于没有组,因此没有结果… 除非您添加GROUP BY,然后没有任何行,否则MAX / SUM等将返回NULL。只有COUNT传回没有结果的数字 编辑,有点晚:SUM会像MAX一样返回NULL 编辑,