如何知道MySQL是否返回0

时间:2010-11-24 12:05:51

标签: php mysql

当我运行此查询时

  

SELECT id FROM bckoff WHERE left   = 3;

` 在phpmyAdmin中,我得到了正确的回复

  

MySQL返回一个空结果集   (即零行)。

但是,当我使用mysql_query('上面的查询')通过我的PHP代码运行相同的查询时,我得到"Resource ID#5""Resource ID#6"等等..

如何在PHP中获取空结果集(或零行)?

4 个答案:

答案 0 :(得分:9)

mysql_num_rows就是答案。此函数返回受执行查询影响的行数。

$query = "SELECT id FROM bckoff WHERE left  = 3";

$result = mysql_query($query);

echo mysql_num_rows($result);

执行mysql_query($query)时,它会执行查询并将其放入资源中。这个资源可以被不同的mysql函数读取(比如mysql_num_rows)。有关所有MySQL函数的完整概述,请查看http://nl.php.net/manual/en/ref.mysql.php

注意:从PHP 5.5.0开始,不推荐使用上述代码中使用的扩展,使用MySQLi或PDO_MySQL扩展。 因此,使用 mysqli_num_rows()

而不是mysql_num_rows

答案 1 :(得分:0)

您可以将mysql_num_rows功能用作:

$result = mysql_query("SELECT id FROM bckoff WHERE left = 3");
$num_rows = mysql_num_rows($result);
// $num_rows will be 0.

答案 2 :(得分:0)

您需要使用mysql_fetch_ *函数来检索结果。看这里

Mysql Fetch Functions

答案 3 :(得分:0)

您可以在mysql_num_rows返回的$result上调用mysql_query("SELECT ...")功能。

您可能会查看MySQLi扩展。这是对MySQL驱动程序的一个重大改进,允许您使用预准备语句和绑定参数等,我发现它使用起来更舒服。您可以查看documentation page for num_rows上的示例。