我正在尝试发送这样的查询:
$sql = "SELECT ID FROM loto_users WHERE email=".$email." LIMIT 1";
echo $sql; //to control
$result = mysql_query($sql);
当我这样做时,它会让我回复:
从loto_users中选择ID WHERE email = xxx@gmail.com LIMIT 1
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行的'@gmail.com LIMIT 1'附近
然后我尝试在mysql web界面中运行这一行。我复制粘贴这个:
SELECT ID FROM loto_users WHERE email=xxx@gmail.com LIMIT 1
它给了我同样的错误消息。然后我在电子邮件地址之前和之后添加了双引号:
SELECT ID FROM loto_users WHERE email="xxx@gmail.com" LIMIT 1
现在,它在界面中运行....我想在我的php文件中使用它,但我不知道如何创建一个包含双引号的变量。
或者还有其他方法吗?
答案 0 :(得分:2)
只需在字符串中添加单引号即可满足您的需求:
$sql = "SELECT ID FROM loto_users WHERE email='".$email."' LIMIT 1";
但是,如果你真的想要双引号,那就逃避吧:
$sql = "SELECT ID FROM loto_users WHERE email=\"".$email."\" LIMIT 1";
或者,不要串联:
$sql = "SELECT ID FROM loto_users WHERE email='$email' LIMIT 1";
$sql = "SELECT ID FROM loto_users WHERE email='{$email}' LIMIT 1";