【发布时间】:2012-06-18 08:55:59
【问题描述】:
我正在使用 PDO 准备语句将数据插入 MySQL 数据库,我注意到字符串中的撇号(单引号)存储在数据库中,前面带有反斜杠 (\)。
我在输出上使用stripslashes($string),当然这会摆脱它们。
我在我的服务器的phpinfo() 信息(PHP 版本 5.2.17)中搜索“magic_quotes”并找到:
- magic_quotes_gpc:本地值 = 开启,主值 = 开启
- magic_quotes_runtime:本地值 = 关闭,主值 = 关闭
- magic_quotes_sybase:本地值 = 关闭,主值 = 关闭
首先,关闭magic_quotes_gpc 会阻止反斜杠的出现吗?我目前无法访问服务器 php.ini 主设置,但据我了解,我可以通过使用指令 php_flag magic_quotes_gpc Off 配置根 .htaccess 文件来禁用它。
其次,在数据库中防止这些反斜杠是否可取?我问这个是因为我看到了 here 有点神秘的评论“三思而后行”。
【问题讨论】: