thinkphp 3.2.3 add() 新插入没有返回id的解决办法

浏览:8435 发布日期:2017/05/18 分类:技术分享 关键字: add id 返回新插入的id
插入的时候总是返回1或false 字段是自增的 没有返回新插入的id
我在看底层代码发现在数据库执行操作的时候有一段正则与sql语句不符,找到了问题所在
源代码图

问题是在正则上
生成出来的sql语句是以 INSERT IGNORE INTO 开头的所以正则没有过滤掉有这段字符,就不会执行获取最新插入的id,
解决方法:
在正则中加入这个规则就可以解决问题了!
正则代码:preg_match("/^\s*(INSERT\s+INTO|INSERT\s+IGNORE\s+INTO|REPLACE\s+INTO|REPLACE\s+IGNORE\s+INTO)\s+/i", $str)
把原代码替换掉就可以了!
改后代码

最佳答案
评论( 相关
后面还有条评论,点击查看>>