问题:代码引用了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方法,否则会发生主从读写错乱的情况。