2012-01-19 89 views

回答

5

您可以使用mysql_num_rows()來計算返回的行數,並檢查從查詢中接收到的數量。

$results = mysql_query("SELECT * FROM..."); 
if(mysql_num_rows($results) > 0) { 
    // Got some results 
} else { 
    //no rows 
} 

但是請注意,如果查詢失敗,因爲一個無效的SQL或其他一些原因,$results會是假的,所以你可以這樣做:

if(!$results) { 
    // Query was invalid 
} 
+0

美麗,謝謝。 –

-2

Manual

對於SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回resultset的語句,mysql_query()返回成功的資源,或者錯誤返回FALSE。

要檢查它是否是成功的,它可能是使用isset!empty一個好主意:

$rs = mysql_query("select 1"); 
if (!empty($rs)){ 
    //everything ran fine 
} 
else{ 
    //something broken 
} 
+0

這不是用戶想要的。 –

0

如果沒有記錄返回,mysql_num_rows($resultHandle)將返回0(零)

3

你可以使用mysql_num_rows()

如果mysql_query()返回FALSE這意味着查詢操作存在操作問題,而不是沒有返回行。

流程是這樣的:

$query = "SELECT * FROM wherever"; 
if (!$result = mysql_query($query)) { 
    // mysql_error() gives a human readable string that explains what went wrong 
    // You should **never** show it in a production environment! 
    die('MySQL Error: '.mysql_error()); 
} 

if (!mysql_num_rows($result)) { 
    // There were no results 
} else { 
    // There were some results 
} 

這是唯一真正的返回數據(SELECTDESCRIBE等)查詢 - 只是執行操作(INSERTUPDATEDELETE等)查詢永遠如果操作成功則返回TRUE,如果失敗則返回FALSE

manual

對於SELECT,SHOW,描述,解釋等語句返回的結果集,請求mysql_query()成功返回的資源,或者在錯誤FALSE。

對於其他類型的SQL語句,INSERT,UPDATE,DELETE,DROP等,mysql_query()在成功時返回TRUE或在錯誤時返回FALSE。

相關問題