2012-12-03 11 views
0

我想設置一個開關基於從mySQL表查詢結果的比較。如果我正在使用打印或回顯,該查詢將起作用,但在嘗試使用完全相同的循環進行比較時會引發語法錯誤。引發錯誤的比較代碼如下。爲什麼mySQL語句爲可用於打印或回顯語句的比較拋出解析錯誤?

//Define query for database entry lookup 
$sql = "SELECT * FROM email_auth WHERE useremail='$user_email_address'"; 

//Define result for database entry lookup 
$result = mysql_query($sql) or die(mysql_error()); 

//Find match for email authentication 
$email_count = 0; 
while($row = mysql_fetch_assoc($result)){ 
    if ($row['authID'] == $user_email_auth) { $validemailrequest = "true" } //Line 60 
    $email_count++; 
} 

而且我得到的錯誤...

<b>Parse error</b>: syntax error, unexpected '}' in 
<b>/home/user/public_html/send_email.php</b> on line <b>60</b> 

然而,使用相同的打印工作時...

//Define query for database entry lookup 
$sql = "SELECT * FROM email_auth WHERE useremail='$user_email_address'"; 

//Define result for database entry lookup 
$result = mysql_query($sql) or die(mysql_error()); 

//Find match for email authentication 
$email_count = 0; 
while($row = mysql_fetch_assoc($result)){ 
    print $row['authID']; 
    $email_count++; 
} 

回答

1

在條件代碼後面似乎沒有分號。

while($row = mysql_fetch_assoc($result)){ 
    if ($row['authID'] == $user_email_auth) { $validemailrequest = "true"; } //Line 60 
    $email_count++; 
} 
+0

Arrrggh ...總是那些getcha!感謝喬(當我前往咖啡壺時)。你得到答案是因爲我看到你是第一個,但是要感謝其他人提供了正確的答案! – Epiphany

+0

沒問題!無論你寫多少代碼總是被這些陷阱所困擾!作爲一個額外的提示 - 我知道它通過將if條件和條件代碼放在一行上看起來更少代碼,但是我總是**將條件代碼(即使它的一行)放在它自己的行上。它確實有助於避免這樣的情況 - 如果不是PHP錯誤消息「錯誤在第6行」會給你一個錯誤的更具體的位置,你的IDE應該選擇錯誤。 –

0

此行缺少分號;

$validemailrequest = "true"; 
0

01分號後失蹤

相關問題