在thinkphp中使用原生SQL语句的时候,明明记录插入表成功了,可是前台却报错。如下:: [ SQL语句 ] : INSERT INTO coupon (codes,price,adminname,admin_uid,addtime) VALUES('11IcRkJUMB',500,'哈哈哈',1,1478658383);
错误位置
FILE: F:\phpStudy\WWW\manage.justeasy.cn\ThinkPHP\Library\Think\Db\Driver.class.php LINE: 350
进过查找发现其实这里我是使用query()执行语句的,只要将query()替换为execute()即可。M('')->query($sql);
替换为M('')->execute($sql);
很简单的解决了query()执行原生SQL语句成功结果报错的问题。
拓展:
1、query方法
query方法用于执行SQL查询操作,如果数据非法或者查询错误则返回false,否则返回查询结果数据集(同select方法)。
2、execute方法
execute用于更新和写入数据的sql操作,如果数据非法或者查询错误则返回false ,否则返回影响的记录数。