2010-11-24 177 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上的例子。