2011-03-27 52 views
2

我一直困惑爲什麼這不會工作!我的查詢在所有方面都執行得非常好,但是當我在$ row值上添加if檢查時,echo消息按預期發生(如果沒有結果),但在查詢中存在匹配項時else不會啓動???爲什麼這不起作用?有人請緩解我的痛苦,讓我直接!php while()在if/else循環內似乎無法工作

$row = mysql_fetch_array($result); 
if (!$row) { 
    echo "Sorry brah. Nothing matches your search criteria."; 
} else { 

$i = 1; 
while($row = mysql_fetch_array($result)) { 
    echo "$i - " . $row['first_name'] . " " . $row['last_name'] . " - " . $row['address'] . "<br />"; 
$i++; 
    } 
} 

回答

9
$row = mysql_fetch_array($result); // this fetches the first row your result 
... 
在while循環,你將再次從結果fecthing THR行

。如果你只有一個在resul

使用行,這將無法正常工作

if (mysql_num_rows($result) == 0) { 
    echo "Sorry brah. Nothing matches your search criteria."; 
} else { 
    $i = 1; 
    while($row = mysql_fetch_array($result)) { 
     echo "$i - " . $row['first_name'] . " " . $row['last_name'] . " - " . $row['address'] . "<br />"; 
     $i++; 
    } 
} 
+0

我把編輯你的答案的自由。 'mysql_num_rows($ result)> 0',應該是'mysql_num_rows($ result)== 0'。希望你不介意。 – 2011-03-27 07:54:35

+0

@fireeyedboy:謝謝。 – Gaurav 2011-03-27 07:58:51

+0

感謝您的澄清。解決了! – OldWest 2011-03-28 21:30:55

3

嘗試mysql_num_rows($result)==0相反在if語句