[英]PHP / MySQL Error Querying Email Address
我一直在尝试使用以下语句查询电子邮件地址,但是尝试成功逃脱字符串数小时后,我接受了失败。
我正在使用的查询是: 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 connect API。
这可能是因为您从Facebook connect获得的电子邮件地址包含引号,例如
"Harry"@gmail.com
"Harry@gmail.com"
从Web服务(或从其他任何地方)提取数据时,您需要对数据进行转义以防止SQL注入 ,并根据情况选择乱码查询。
在您的情况下:
$email = mysql_real_escape_string($email);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.