2014-02-11 59 views
0

我想從MySQL查詢(我已經做了很多次)運行一個while循環,我無法讓它運行的原因。如果我運行下面的代碼,即使數據庫中有與我的SQL查詢中的條件相匹配的條目,我也會得到'test'回顯但不是'test2'。我想我只是想看看我是否忽略了語法中的某些東西?簡單的MySQL WHILE循環沒有運行

我使用'require'語句將數據庫連接文件包含在頁面中,因此如果連接到數據庫時出現錯誤,頁面甚至不會運行。

任何想法?對不起,如果這是基本的,這只是讓我瘋狂 今天早上。感謝您的幫助!

$sql_all = "SELECT * FROM wp_posts WHERE post_type = 'post' AND post_status != 'trash' AND post_status != 'auto-draft'"; 
$result_all = $mysqli->query($sql_all); 

echo "test"; 

while($row_all == mysqli_fetch_array($result_all)){ 
    echo "test2";  
} 
+0

您是否看到有錯誤?如果你做'echo $ mysqli->錯誤,你會看到什麼;'?也許查詢返回0行?如果你執行'echo $ result_all-> num_rows',你會看到什麼? –

回答

4

取出while循環中的第二個等號。

while($row_all = mysqli_fetch_array($result_all)){ 
+0

是的,它看起來很奇怪,但這是正確的。你正在分配'mysqli_fetch_array'返回的值,然後檢查它是否「真實」。 –

+0

真的嗎?哇,我每天都會學到新的東西!感謝提示,Rocket。 – Quixrick

+0

我只是擴大你的答案;) –