我对 PHP 和 Mysql 还很陌生。我要问的问题是乞求有人告诉我使用准备好的陈述,所以首先让我说我正在学习这个,但还没有完全做到。我有一个查询来查看电子邮件地址是否在数据库中。电子邮件地址可能包含不寻常的字符,例如 - 、 / | “”等等等。我似乎无法检索它们 - 这是我的代码(repeatemail 来自表单)。与没有此字符的电子邮件地址完美搭配。
$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 等的解释,但此时它有点超出我的想象。有人可以给我一个解决方案....我如何更改上面的代码,以便它会挑选出这些时髦的电子邮件地址?非常感谢