所以,我学习PHP和我有一个关于该部分的问题在我的截图强调:的MySQL更新查询
http://s18.postimg.org/8el9lkpuh/image.png
我阅读这些相关的问题,他们是通常乐于助人(我知道这里有没有处理安全问题),但并没有帮助我理解我的具体问题:
concatenate mysql select query with php variable?
MySQL query with PHP variables Issues
我的问题是,为什么我们需要围绕变量的这些点?这些连接点是?我不认为我们串联任何东西,我们只是评估一个变量,不是?为什么它需要引号?为什么不能简单地将“UPDATE table WHERE name = $ name”并让$ name评估为任何它..?事实上,当我试图做到这一点时,它只是不评估,但为什么?下面 了几行,echo "<p>Name: $row[1]</p>";
,例如$行评估就好了......
编辑:
$q='UPDATE towels SET name="$name" WHERE id=1';
输出:$名 我的变量是双引号里面,所以它应该得到评估,但没有按” T'
$q='UPDATE towels SET name="$name" WHERE id=1';
输出:$ name 变量在双引号内,应该得到评估,但不是?
$q='UPDATE towels SET name="'.$name.'" WHERE id=1';
输出:正确! 单引号内的变量,不应该得到评估,但呢?
$q="UPDATE towels SET name='$name' WHERE id=1";
输出:正确! 单引号内的变量,不应该得到评估,但呢?
所以很清楚我错过了一些东西,因为它看起来都比它应该是对的。
您与'.'连接,您可以执行UPDATE表WHERE name ='$ name''' –
为什么我们需要连接? - 另外,当我做你写的东西时,输出总是简单的$ name(而不是“John”或任何名字应该是的) – user3399551