【发布时间】:2013-10-02 10:38:16
【问题描述】:
我正在尝试检查一个值(电子邮件),以确定它是否已经存在于数据库中。这应该使用准备好的语句来完成。这样做的最佳方法是什么?我的解决方案是这样的(这是错误的):
$mysqli = connectToDB();
$getEmail = $mysqli->prepare('SELECT * FROM users WHERE email=?') or die('Couldn\'t check the email');
$getEmail->bind_param('s', $email);
$getEmail->execute();
$countRows = $getEmail->num_rows;
print $countRows;
即使电子邮件区域存在于数据库中,它也总是打印出 0。
【问题讨论】:
-
您确定数据库中存在的电子邮件大小写完全相同吗?尝试使用不区分大小写的比较:
WHERE lcase(email)=lcase(?) -
是的,我很确定,两者都是小写的。我试过你的解决方案。它没有工作:(
标签: php mysqli prepared-statement