什么是没有引号

时间:2017-04-06 09:24:35

标签: php

这是我的问题:

什么是没有引号的PHP变量/字符串?下面是我写的代码并出错了:

$email = $_POST['email'];

$query = "DELETE FROM email_list WHERE email = $email";

正确的代码应该是:

$query  = "DELETE FROM email_list WHERE email = '$email'";

所以,变量$ email不是没有引号的字符串,即使它是我在表单中输入的内容?

然后我用PHP编写了一个代码:

echo($email."<br />");
echo("$email" ."<br />");

结果在浏览器中结果相同。 那么为什么我要添加另一个单引号来封装$ email,而它已被双引号包围?

1 个答案:

答案 0 :(得分:1)

$email"$email"输出相同。写"'$email'"不会。

在最后一种情况下,您要在之前和之后添加单引号; SQL需要识别字符串。

如果SQL语言的创建者已经决定必须在#之间包含字符串,那么如果希望SQL引擎识别字符串,则必须编写"#$email#"。它与PHP如何处理或插入字符串无关;它与SQL有关。