thinkphp 3.2 SQLSTATE[HY000]: General error


問題:代碼引用了model類,數據也更新了,但就是會報 SQLSTATE[HY000]: General error 錯,代碼如下:

$id = $_POST['id'];
$user_id = $_POST['user_id'];
$data['invite_time'] = time();
$data['invite_id'] = $_POST['invite_id'];
$sql = "update fanwe_invite set invite_time=".$data['invite_time'].",invite_id='".$data['invite_id']."' where user_id=".$user_id." and _id=".$id;
$edit = $m->query($sql);

解決:用execute 代替 query

解決原理:調用模型的CURD操作的話,系統會自動判斷當前執行的方法的讀操作還是寫操作,如果你用的是原生SQL,那么需要注意系統的默認規則: 寫操作必須用模型的execute方法,讀操作必須用模型的query方法,否則會發生主從讀寫錯亂的情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM