不明白为什么用这种方式编写PHP字符串?

时间:2015-04-13 19:29:06

标签: php mysql

<?php

$_REQUEST['one']='John';
$_REQUEST['two']='Habernash';

$output= "  insert into tbl_user set first_name=' " .$_REQUEST['one']. " ',
last_name=' " .$_REQUEST['two']. " '   "; 

我不明白这里的字符串是怎么回事。我读到最外面的引号确定是否会评估内部变量。那么为什么围绕请求变量需要连接运算符和双引号?我尝试了另一段代码而不是做&#39; &#34 ;. $ _REQUEST [&#39; one&#39;]。&#34; &#39;我做过&#39; {$ _REQUEST [&#39; one&#39;]}&#39;它产生了相同的输出。那么&#34;有原因吗? &#34;方法更好,它是如何工作的?只是困惑,谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

这是编写某些数据库SQL的方式。如果列需要一个字符串,它希望变量用引号括起来 - 因此转义的双引号周围的单引号。

这里有双引号:PHP字符串。单引号:SQL字符串。

请注意,您所拥有的这段代码通过允许原始输入直接进入SQL字符串而习惯于不清理SQL字符串。