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