2017-04-06 14 views
-4

这里是我的问题:什么是不带引号的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而它已经被双引号括起来了?

+0

您是否尝试过回显查询? – Swellar

回答

0

写入$email"$email"输出相同。写作"'$email'"不。

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

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

+0

了解了,你的anwser很清楚,谢谢!!! –