私はPHPとMysqlにかなり慣れていません。私が尋ねようとしている質問は、準備されたステートメントを使用するように誰かに教えてもらうことです. メールアドレスがデータベースにあるかどうかを確認するクエリがあります。電子メール アドレスには、-、/ | などの通常とは異なる文字が含まれている場合があります。「」など。それらを取得できないようです-これが私のコードです(繰り返しメールはフォームから来ています)。この文字を含まない電子メール アドレスで完全に機能します。
$checkemail = $_POST['repeatemail'];
$checkemail = mysqli_real_escape_string($con, $checkemail);
//Perform database to see if email exists
$query = "SELECT email FROM scorers WHERE email = '{$checkemail}'";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_row($result);
if ($row[0] == $checkemail){
echo "found";
} else {
echo "not found";
}
現状では、エスケープ文字列が異常な文字を削除しているかどうか疑問に思っていたので、クエリを実行すると変更されましたが、そうではないようです。また、simon.o'malley@nhs.uk のようなアドレスを入力しても問題ありませんが、上記のコードでは確認できません。UTF などに関する多くの説明を調べましたが、現時点では頭の少し上にあります。誰かがこれに対する解決策を教えてくれませんか....上記のコードを変更して、これらのファンキーな電子メールアドレスを選択するにはどうすればよいですか? どうもありがとう