2013-08-24 124 views
0

我敢肯定這是一個簡單的修復,我想運行一個代碼塊,如果一個SQL查詢返回一個積極的結果。如:php如果sql查詢返回有效結果

if($query = mysqli_query($cxn,"[query]")) 
{ 
Code to be executed if the query returns a positive result 
} 

我試過這種格式,但不起作用。我確信我已經做到了,但是我在這裏跑到了一堵牆上。

希望你能幫上忙。

+1

「不起作用」不是有意義的描述發生了什麼。你檢查錯誤嗎? 「積極成果」是什麼意思?嘗試'else {print mysqli_error($ cxn); }' – symcbean

回答

1

所以你的意思是如果查詢不失敗?然後:

$query = mysqli_query($cxn, "[query]"); 
if($query !== false) { 
    // Code to be executed if the query returns a positive result 
} 
2

正如php.net/manual/mysqli.query.php指出,mysqli_query將:

返回FALSE失敗。對於成功的SELECT,SHOW,DESCRIBE或EXPLAIN查詢,mysqli_query()將返回一個mysqli_result對象。對於其他成功的查詢,mysqli_query()將返回TRUE。

你應該爲你下一個問題指定你的意思肯定的結果。但是,這段代碼會查看是否有錯誤,如果查詢返回空集合,依此類推...(我沒有試過運行代碼)

$result = mysqli_query($cxn,"[query]"); 
if ($result === FALSE) { 
    echo "There was an error"; 
} 
else if ($result === TRUE) { 
    echo "The query was successful (a query that didn't return anything)"; 
} 
else if (mysqli_num_rows($result) == 0) { 
    echo "The result is empty" 
} 
else { 
    echo '$result contains data'; 
}