William_Sang 发表于 2013-05-03 17:05

PHP 单引号的问题 --》弱弱地问下

本帖最后由 William_Sang 于 2013-05-03 17:05 编辑

弱弱地问下:
像下面这样的SQL语句是可以执行的:

$query = "insert into $table( id , value ) values( '$i' , '$value' ) ";
$mysqli->query($query);

但是我的疑问是:单引号里面的内容按道理是不解析的,直接输出。这个语句怎么没有问题?这个问题困扰我很久了。忘指点迷津!

bikong0411 发表于 2013-05-04 09:10

因为最外层是双引号$query = 'insert into $table( id , value ) values( "$i" , "$value" ) ';这样试试

William_Sang 发表于 2013-05-06 16:54

回复 2# bikong0411


    这话和没解释一样哈。。。

bikong0411 发表于 2013-05-07 09:21

回复 3# William_Sang


   x,解析不解析变量,你看最外面的引号是不是双引号,双引号套单引号必然要解析

linux_c_py_php 发表于 2013-05-07 10:56

明明是双引号的, 里面的单引号是内容防止SQL注入用的。

William_Sang 发表于 2013-05-07 15:24

回复 6# linux_c_py_php


    我是这么想的:双引号里面内容会重新解析,单引号内容不做解析。
所以我觉得这变量符号被单引号包围了所以应该直接输出。

William_Sang 发表于 2013-05-07 10:42

回复 4# bikong0411


    了解~

maochanglu 发表于 2013-05-08 10:59

看最外面的 引号

William_Sang 发表于 2013-05-08 14:06

回复 8# maochanglu


    了解~~谢谢,一直没看到有这方面的介绍
页: [1]
查看完整版本: PHP 单引号的问题 --》弱弱地问下