我一直在尝试使用以下语句查询电子邮件地址,但是在成功逃避字符串数小时之后,我接受了失败.
我使用的查询是: 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"
Run Code Online (Sandbox Code Playgroud)
从Web服务(或从其他任何地方)提取数据时,您需要转义数据以防止SQL注入,并在您的情况下出现乱码查询.
在你的情况下:
$email = mysql_real_escape_string($email);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5330 次 |
| 最近记录: |