PHP / MySQL错误查询电子邮件地址

时间:2010-10-28 11:56:16

标签: php mysql

我一直在尝试使用以下语句查询电子邮件地址,但是在尝试成功逃避字符串数小时后,我接受了失败。

我使用的查询是:SELECT id, email FROM user WHERE email = '$email'

这给了我一个错误:

  

MySQL错误:您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行的“@ gmail.com”附近使用正确的语法

我确信这很简单......我似乎无法在任何有效的地方找到答案。

更新#1

我一直使用的代码是:

$email = "abc@gmail.com";

$sql = "SELECT id, email FROM user WHERE email = '$email'";

$result = mysql_query($sql) or die('Unable to connect: '.mysql_error());

更新#2

该电子邮件来自Facebook连接API。

1 个答案:

答案 0 :(得分:6)

这可能是因为您从Facebook connect获得的电子邮件地址包含引号,例如

之类的东西
"Harry"@gmail.com  
"Harry@gmail.com"

从网络服务(或其他任何地方)提取数据时,您需要来转义数据以防止SQL injection,并在您的情况下出现乱码。

在你的情况下:

$email = mysql_real_escape_string($email);