2012-12-03 132 views
0

如何檢查mysqli查詢是否返回布爾值(false)或結果? 如果我嘗試獲取num_rows,我得到php錯誤,因爲我試圖訪問一個非對象作爲對象。但我需要檢查這個,因爲如果它的假我必須設置一個變量,如果它不是得到查詢的結果。php mysqli檢查mysqli查詢是否返回false

我的查詢看起來是這樣的:

<?php 
$q = "SELECT `id` FROM `table` ORDER BY `id` DESC LIMIT 0, 1"; 
$res = mysqli->query($q); 
?> 

回答

2

您需要使用===運營商也將對其參數類型:

$q = "select ,...."; 
$res = mysqli->query($q); 

if($res !== false) { 
    // query ok 
} else { 
    // query failed 
} 
+0

感謝那些woreked我試過_if_只_ = _ –

1

要知道,如果一個變量被設置爲false,您可以使用

if($res === false){//strictly false, no 0 or '' 
    //do something 
} 

在這種情況下,你可以說你想顯示錯誤以便相關CT IT:

$res = mysqli->query($q) or exit mysqli_error(); 
+0

如果發生錯誤,我可以在此之後,調用'mysqli_close'!?默認情況下爲 – deadfish

+0

,因爲mysqli與OOP兼容,連接會自動銷燬。 – artragis