首页 > Web开发 > 详细

php执行一条insert插入两条数据其中一条乱码

时间:2016-03-28 02:08:58      阅读:198      评论:0      收藏:0      [点我收藏+]

显然这就是编码问题,但是问题从哪来的呢,

我把文件编码以及代码的编码都设置成utf-8了,为什么还有这个问题于是我就开始写测试脚本

第一条

mysql_query(‘insert into table value(1,1,"思考思考123")‘)

测试没有问题

第二条

$name=$_GET["name"];

mysql_query(‘insert into table value(1,1,"‘.$name.‘")‘)

测试出问题了,数据库竟然插入了两条数据,原来编码问题是从网络请求中产生的;

 

既然发现了问题就解决问题,

一种方法是对网络请求进行过滤

一种是对sql语句过滤。

代码的逻辑就是如果不是utf-8编码的语句就不能执行。

采用如下方法进行过滤

if( mb_detect_encoding($sql, array(‘GB2312‘,‘GBK‘,‘UTF-8‘))=="UTF-8"){

...

}

 

 

 

insert into table value(1,1,"思考思考123")

php执行一条insert插入两条数据其中一条乱码

原文:http://www.cnblogs.com/yang95/p/5327507.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!