私はコメントシステムを作成しています。新しいコメントが来たら、私はそれらをメールします。PHP if文が正しく動作しないのはなぜですか?
私はemail_notificationsという名前のテーブルをphpMyAdminで作成しました。
問題は、このコードを使用することです:
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!');
}
そのテーブルにあるように、同じ電子メールの1以上を防ぐために仮定されていること。 そして今、mysql_num_rowsは7行があると言っています。
そうなステートメントは今言う:
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.');
}
問題は、それがまだテーブルにメールアドレスを入れていますが、それはいけないということです。それは返す必要がありますこのメールを投稿できません!ごめんなさい。
これは私が直面してきた奇妙な問題可能性があると私は事前に、
が助けてください:(おかげで、それを把握することはできません。ただ、キーを追加すると間違って何
だけ注意を:代わりに書き込みのあなたは、むしろ書くべき「_I PHPのための 'if'を書いていないです「_PHPはcorrectly_があれば、私は読んでいません」正しく " PHPは予測可能であり、むしろ成熟しています。プログラミング言語を非難するのではなく、この条件を正しく記述しているかどうか、疑問を投げかけてください。 – Tadeck
しかし、条件は私には正しいように見えます。 – Shawn31313
あなたはMySql/PHPに慣れていないことを認めているかもしれませんが、この種のバグが出てきて、ずっと前に解決されました!また、MySql Count関数を見てください。これはこれを修正する可能性があります。 –