php执行一条insert插入两条数据其中一条乱码
生活随笔
收集整理的這篇文章主要介紹了
php执行一条insert插入两条数据其中一条乱码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
顯然這就是編碼問題,但是問題從哪來的呢,
我把文件編碼以及代碼的編碼都設置成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")
轉載于:https://www.cnblogs.com/yang95/articles/5327507.html
總結
以上是生活随笔為你收集整理的php执行一条insert插入两条数据其中一条乱码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 食饵捕食者模matlab,数学建模经典基
- 下一篇: php 复习