php 向数据库中添加信息sql被转译该怎么处理

通过php添加数据到mysql
values中包含html语言

比如其中添加数据:<a href="xxx" target="_blank"><img src="xxx" /></a>
中间包含双引号我输出看了下。输出后在双引号前面都加了一个斜杠\
我测试,在mysql中直接用sql添加可以成功,在php中删除了这些引号类的东西也可以添加成功
说明sql语句本身是没有问题。
请问下这种带引号的sql改怎么弄。
本人php菜鸟希望哪位大神教教。。。

有两种可能:
1、是你的php配置中开启了自动转义,你先运行一下var_dump(get_magic_quotes_gpc());
如果返回的是true的话,那就是开启了,到php.ini中把magic_quotes_gpc改成off
2、你的程序是否在插入前使用了htmlspecialchars或者htmlentities之类的转义函数追问

第一种可能,我搜索了下。没有php.ini这个文件。至于运行上面的代码,不会弄。今天才学了点php
第二种可能也没有。
我这边是单独弄了个php文件来操作数据库。
不过我刚才在php文件中直接添加sql代码。在双引号前面都加了个斜杠\ 添加成功了。不过post过来的还是不对。

追答

Php.ini文件是php的一个配置文件,在windows主机中如果你未修改配置文件php ini文件肯定是和你的php安装目录在一起的

试试这样 可以看下正则表达式的知识

追问

谢谢亲,我这样确实可以成功。
但是我post过来

$sql=$_POST['sql'];
echo $sql;
mysql_query($sql);这样执行就不能成功
这样输出看到的sql语句也是这种形式。
如果复制里面的输出的sql直接放到mysql_query()里面又可以执行成功

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网