我正在尝试发送这样的查询:
$sql = "SELECT ID FROM loto_users WHERE email=".$email." LIMIT 1";
echo $sql; //to control
$result = mysql_query($sql);
当我这样做时,它会返回我:
SELECT ID FROM loto_users WHERE [email protected] LIMIT 1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com LIMIT 1' at line 1
然后我尝试在 mysql Web 界面中运行这一行。我复制粘贴这个:
SELECT ID FROM loto_users WHERE <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d5b0b8b4bcb9e8adadad95b2b8b4bcb9fbb6bab8" rel="noreferrer noopener nofollow">[email protected]</a> LIMIT 1
它给了我同样的错误消息。然后我在电子邮件地址前后添加了双引号:
SELECT ID FROM loto_users WHERE email="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="96eeeeeed6f1fbf7fffab8f5f9fb" rel="noreferrer noopener nofollow">[email protected]</a>" LIMIT 1
现在,它在界面中运行...。我想在我的 php 文件中使用它,但我不知道如何创建一个能够包含双引号的变量。
或者还有其他办法吗?
最佳答案
只需在字符串中添加单引号即可满足您的需要:
$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";
关于php - php 如何在变量中插入双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23712858/