我正在創建評論系統,當有新評論發佈時,我會通過電子郵件發送給他們。爲什麼我的PHP if語句不能正常工作?
我在phpMyAdmin中創建了一個名爲email_notifications的表。
問題是與此代碼:
if(mysql_num_rows(mysql_query("SELECT * FROM email_notifications WHERE email='$email'") or die(mysql_error())) <= 1) {
mysql_query("INSERT INTO email_notifications (email) VALUES ('$email')");
echo mysql_num_rows(mysql_query("SELECT * FROM email_notifications WHERE email='$email'"));
}
else{
die('EMAIL!');
}
這是假設,以防止相同的電子郵件超過一個要在該表中。 而現在mysql_num_rows說有7行。
所以statment現在說:
if(7 <= 1) {
mysql_query("INSERT INTO email_notifications (email) VALUES ('$email')");
echo mysql_num_rows(mysql_query("SELECT * FROM email_notifications WHERE email='$email'"));
}
else{
die('Can\'t post this email! Sorry.');
}
的問題是,它仍然插入電子郵件地址表中,但它不應該。它應該是返回不能發佈此電子郵件!抱歉。
這是可能的,我遇到最奇怪的問題,我不能提前弄明白:(
請幫忙,謝謝。
只是注意:不是寫作「_PHP不讀書我如果correctly_」你應該寫,而「_I我不寫'if'爲PHP correctly_」。沒有冒犯性,PHP是可預測的並且相當成熟 - 你應該問一個問題,你是否正確地寫了這個條件而不是指責編程語言。 – Tadeck 2012-02-17 00:47:06
但是這種情況對我來說看起來是正確的。 – Shawn31313 2012-02-17 00:52:26
這可能是,但正如你承認的,你對MySql/PHP沒有經驗,這種錯誤很快就會出現並解決!另外,看看MySql計數功能;它可能會解決這個問題。 – 2012-02-17 00:55:48