2012-02-09 108 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'); 
}