我正在尝试将存储在数据库中的电子邮件地址与输入中输入的电子邮件地址进行比较,但它无法识别:
我正在尝试从我的数据库中选择一个列:
$query = mysql_query("SELECT * FROM `men` WHERE `Email`=$user_email");
但是,即使电子邮件完全相同,查询也会返回 0。这里有什么问题
有很多问题。此查询将插入Email = email@example.com
MySQL 中的语法错误。
mysql_query
使用类似的东西之后检查错误mysql_query($query) or echo mysql_error()
$user_email
用引号括起来,以便它插入到Email = 'email@example.com'
,这是有效/所需的查询。ext/mysql
;它已被弃用。见粉红色的大盒子。更好的选择是(在 PDO 中):
$query = $pdo->prepare("SELECT * FROM `men` WHERE `Email` = ?");
$query->execute(array($user_email));
$result = $query->fetch();
请注意,我关于错误检查和参数化的评论仍然适用于 PDO。