【发布时间】:2015-12-20 16:52:20
【问题描述】:
我有一个 PHP 脚本,它读取一些输入并将其保存在数据库中。输入可以有单引号或双引号。我将引号更改为他们的 ISO Latin-1 代码以避免转义问题。对于单引号,我的代码是:
$str = str_replace("'", "'", $str);
使用此代码,如果输入是“Jack 的书”,则它在数据库中被正确地保存为 Jack 的书(代替 ' 的代码)。但是当我用双引号这样做时:
$str = str_replace("\"", """, $str);
根本没有任何东西保存在数据库中。谁能告诉我为什么?
【问题讨论】:
-
这个字符串中有哪些内容?
-
它再次工作检查
-
这与
str_replace()函数无关。将字符串保存到数据库时很可能出现错误。 -
“避免转义问题”是什么意思? SQL注入?然后您应该使用更好的形式将数据保存到数据库中,例如 php pdo 类或 php 的标准转义函数
标签: php