已解決|php insert into 插入失敗 |Incorrect string value: '\xE5\x88\x98\xE5\xAE\x89' for column 'name
阿新 • • 發佈:2018-12-21
/程式碼插入資料
$myID = Null;
$myName='劉安';
$myMoney=100;
$sqlstatement="insert into users values(Null, '{$myName}', '{$myMoney}')";
$result=mysql_query($sqlstatement);
var_dump($result);
一直false false false 搞的我想死想死想死
後來也沒查閱文件 懷疑是編碼格式的問題
把
mysql_set_charset('utf8');
改為
mysql_set_charset('utf-8');
便解決了這個問題,你說氣不氣......
我是看慕課網視訊學習的 但是他用的是utf8居然可以 我的不可以 。。。不清楚原因 但是記錄一下 以防再次踩坑
續-----------
再改回來哦
mysql_set_charset('utf8');
以為解決了呢 並沒有
更氣的還在下面 看似解決了 但是當用cmd 命令查詢出亂碼的時候
心有不甘 以為是cmd 編碼格式問題呢
再使用Navicat Premium使用一看也是亂碼 涼涼
最後解決方案也貼一下
是因為資料庫表的編碼格式不對造成的,開啟mysql找到對應的表,修改其編碼格式為“utf8”之後,問題即可解決!
當然Navicat Premium 修改表不好找 甚至找不到 故而修改欄位的地方改編碼效果一樣
你的問題已經解決了 接下來是小結 可以不看的
$sqlstatement="insert into users values(Null, '{$myName}', '{$myMoney}')";
$result=mysql_query($sqlstatement);
var_dump($result);
echo mysql_error();
1 可以通過這個 mysql_error() 找到具體bug 從而解決
2 通過具體bug 找具體問題 不要瞎描述 那樣越走越遠 比如標題上面的php insert into 插入失敗....