【发布时间】:2012-03-06 09:13:31
【问题描述】:
我让用户输入他们的姓名,例如:O'riley。
在将此数据输入 MySQL 数据库之前,我运行 mysql_real_escape_string。
问题是,当我选择此数据以供稍后显示和使用时,它会显示为:O\'riley。
显然,这是预期的操作。我想知道是否有某种方式可以确保我可以将它存储在数据库中(仍然安全地逃避可能的恶意代码),这样我每次调用数据时都不必在输出上使用strip_slashes()整个网络应用程序?或者,我在这里遗漏了什么?
谢谢。
更新 请参考 Deceze 回答中的 cmets。
【问题讨论】:
-
你能从你的
php.ini中显示魔术引号sn-p 吗?
标签: php mysql mysql-real-escape-string stripslashes