首页 > 开发 > ThinkPHP > 正文

关于TP函数getlastSql()的错误问题

2024-09-09 15:20:17
字体:
来源:转载
供稿:网友

用getlastSql()函数打印最后执行的一条sql语句进行排错很久了,最近使用的时候经常遇到一个问题,就是我最后执行的是update更新语句,但是getlastSql打印出来的都是select语句,很是郁闷,第一次遇到的时候忘记写记录,再遇到的时候还是不知道原因是什么,关于TP函数getlastSql()的错误问题因为我记住了TP手册里的一句话,按照手册用竟然会出错,TP里写的:

关于TP函数getlastSql()的错误问题

关于TP函数getlastSql()的错误问题

如果id是数据表的主键的话,系统自动会把主键的值作为更新条件来更新其他字段的值。

就是最后这句话,如果ID是主键的话系统会自动把主键作为条件,但是我传入的数组中的id分明就是主键了呀,为什么会执行失败,而且最后一条sql是select呢?后来排查的时候发现因为我的主键不是自动增长的关于TP函数getlastSql()的错误问题,坑爹呢么,真是太无语了,只能讲数据库字段改成自增长或者在where条件中写上条件了.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选