初用addslashes

最近一直忙一个php版本的nginx平台管理系统,需要将很多不同的nginx配置文件存入到mysql中。

但是nginx配置文件中单引号,双引号,斜杠这些符号比较多,一直没法存入到数据库中。于是找了下看看php有什么通过转义的方式存入mysql。发现居然还是有的。在php.ini文件中进行如下设置就好了。

magic_quotes_gpc = On (Get/Post/Cookie)
magic_quotes_runtime = Off
magic_quotes_sybase = On

经过如上设置就很容易的将Nginx配置文件存入到数据库中,但是会把'(单引号)存为”(2个单引号)。这种就会让我每次还得把2个单引号转为1个单引号再进行发布。看了上面3个方法的官方文档,居然从5.3后是被默认关闭的,并且在6中就被废弃掉了。那看来只能找其它的代替。还好文档中提到了用addslaashes()方法来代替。用了下还真是比较好用。

使用如下:

addslashes()
$str=addslashes($str);

这样存入mysql中的是没有斜杠,也不会变成2个单引号。看来这就是为什么上面3个参数会在5.3以后被默认关闭了。

很多方法都是到需要的再查资料吧,我还是不喜欢一上手就系统化学习,那样经常会由于收益曲线不高而最终放弃。

###########################################

Best regards
Timo Seven
blog: http://www.timoseven.com
twitter: http://twitter.com/zauc
Linux System Admin & MySQL DBA

关于 Timo
XNIX SA & MYSQL DBA

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: