我想設置一個開關基於從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++;
}
Arrrggh ...總是那些getcha!感謝喬(當我前往咖啡壺時)。你得到答案是因爲我看到你是第一個,但是要感謝其他人提供了正確的答案! – Epiphany
沒問題!無論你寫多少代碼總是被這些陷阱所困擾!作爲一個額外的提示 - 我知道它通過將if條件和條件代碼放在一行上看起來更少代碼,但是我總是**將條件代碼(即使它的一行)放在它自己的行上。它確實有助於避免這樣的情況 - 如果不是PHP錯誤消息「錯誤在第6行」會給你一個錯誤的更具體的位置,你的IDE應該選擇錯誤。 –