2010-11-24 63 views
2

当我运行此查询`如何知道如果MySQL返回0

选择id FROM bckoff WHERE left = 3;

`在phpMyAdmin ,我得到正确的响应

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

然而,当我使用的mysql_query(“上面的查询”)通过我的PHP代码运行相同的查询..然后我得到"Resource ID#5""Resource ID#6"等..

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

+1

取决于你在PHP – 2010-11-24 12:07:23

回答

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扩展。 所以不是mysql_num_rows使用mysqli_num_rows()

+0

使用什么mySQL库谢谢..我得到它的工作..! – 2010-11-24 13:04:48

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. 
0

有一个mysql_num_rows功能,你可以通过mysql_query("SELECT ...")返回$result调用。

您可以改为查看MySQLi扩展。这是对MySQL驱动程序的一个重大改进,并且允许您使用预准备语句并绑定其他参数,我发现使用起来更舒适。你可以看看documentation page for num_rows上的例子。