我正在尝试将存储在数据库中的电子邮件地址与输入中输入的电子邮件地址进行比较,但它无法识别:
我正在尝试从我的数据库中选择一个colum:
$query = mysql_query("SELECT * FROM `men` WHERE `Email`=$user_email");
但是,即使电子邮件完全相同,查询也会返回0。这是什么问题
答案 0 :(得分:2)
有很多问题。此查询将插入到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。