PHP比较电子邮件

时间:2013-04-02 21:10:08

标签: php mysql

我正在尝试将存储在数据库中的电子邮件地址与输入中输入的电子邮件地址进行比较,但它无法识别:

我正在尝试从我的数据库中选择一个colum:

$query = mysql_query("SELECT * FROM `men` WHERE `Email`=$user_email");

但是,即使电子邮件完全相同,查询也会返回0。这是什么问题

1 个答案:

答案 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。

相关问题