php - php 如何在变量中插入双引号

标签 php mysql double-quotes

我正在尝试发送这样的查询:

$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/

相关文章:

php - 需要使用 array_key_exists 从 mysql 获取数据值

intellij-idea - 在 IntelliJ 的代码编辑器中,将所选文本用双引号括起来

php - 使用单个查询更新多个记录以提高性能

php - 如何在 Solr PHP 中更新文档?

php - 验证 IP 和 CIDR 组合

python - 匹配内部带有双引号的双引号字符串

ruby - 如何在 ruby​​ 中读取没有 quote_char 的 CSV?

php - 从 WordPress API (wp-json) 取消设置数据

mysql - 遍历子查询结果以查询同一个表

python - 在 For 循环中创建字典时防止覆盖嵌套字典值