PDO不会转义变量。变量和SQL命令通过MySQL连接独立传输。和 SQL标记生成器(分析器)从未着眼于价值
。仅将值逐字复制到数据库存储中,而不会造成任何损害。这就是为什么无需将数据与准备好的语句编组在一起的原因。
请注意,这主要是速度优势。使用mysql_real_escape_string(),您首先需要在PHP中编组变量,然后将效率低下的SQL命令发送到服务器,这将导致昂贵的实际SQL命令与值的隔离。这就是为什么经常说安全优势只是隐式的,而不是使用PDO的主要原因。
如果您使用SQL命令并没有实际使用准备好的语句(不好!),那么可以,PDO仍然有一个转义函数:$ pdo-> quote($
string)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)