当我运行此查询时
SELECT
id
FROMbckoff
WHEREleft
= 3;
` 在phpmyAdmin中,我得到了正确的回复
MySQL返回一个空结果集 (即零行)。
但是,当我使用mysql_query('上面的查询')通过我的PHP代码运行相同的查询时,我得到"Resource ID#5"
或"Resource ID#6"
等等..
如何在PHP中获取空结果集(或零行)?
答案 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_ *函数来检索结果。看这里
答案 3 :(得分:0)
您可以在mysql_num_rows
返回的$result
上调用mysql_query("SELECT ...")
功能。
您可能会查看MySQLi扩展。这是对MySQL驱动程序的一个重大改进,允许您使用预准备语句和绑定参数等,我发现它使用起来更舒服。您可以查看documentation page for num_rows
上的示例。