2012-02-09 138 views
0

對不起,這是一個有點noobish,我不能得到一個簡單的while語句來執行,而條件是真假,如果沒有結果:執行While循環腓

// Select all the rows in the markers table 
$query = "SELECT * FROM markers M, professor P 
WHERE P.id = M.id;"; 
if($row = mysql_fetch_array($result)) { 
    do { 
     echo $row; 
    } 
    while($row = mysql_fetch_array($result)); 
} else { 
    die('No results.'); 
} 

我用這個代碼中看到的問題是$query永遠不會被呼叫mysql_fetch_array()如果這個被改變?

+1

您的代碼看起來不完整。這會引發語法錯誤。 – jjs9534 2012-02-09 15:16:00

+0

請參閱更新。 – CodeTalk 2012-02-09 15:26:21

回答

1

PHP while聲明沒有else秒。我相信這對Python來說幾乎是獨一無二的。相反,您可以這樣做:

if($row = mysql_fetch_array($result)) { 
    do { 
     echo $row; 
    } while($row = mysql_fetch_array($result)); 
} else { 
    die('No results.'); 
} 
+0

This throws errors:mysql_fetch_array()expect parameter 1 to resource – CodeTalk 2012-02-09 15:19:16

+0

'$ query =「SELECT * FROM markers M,professor P WHERE P.id = M.id;」;如果($ row = mysql_fetch_array($ result)){ do { echo $ row; } } while($ row = mysql_fetch_array($ result)); } else { die('No results。'); }' – CodeTalk 2012-02-09 15:19:36

+0

爲什麼會拋出這個錯誤? – CodeTalk 2012-02-09 15:19:57

1

試着用以下條件:

if (mysql_num_rows($result) == 0) { 
    die('No Result'); 
} 

或simplier:

if (!mysql_num_rows($result)) { 
    die('No Result'); 
}