用getlastSql()函数打印最后执行的一条sql语句进行排错很久了,最近使用的时候经常遇到一个问题,就是我最后执行的是update更新语句,但是getlastSql打印出来的都是select语句,很是郁闷,第一次遇到的时候忘记写记录,再遇到的时候还是不知道原因是什么,关于TP函数getlastSql()的错误问题因为我记住了TP手册里的一句话,按照手册用竟然会出错,TP里写的:
如果id是数据表的主键的话,系统自动会把主键的值作为更新条件来更新其他字段的值。
就是最后这句话,如果ID是主键的话系统会自动把主键作为条件,但是我传入的数组中的id分明就是主键了呀,为什么会执行失败,而且最后一条sql是select呢?后来排查的时候发现因为我的主键不是自动增长的关于TP函数getlastSql()的错误问题,坑爹呢么,真是太无语了,只能讲数据库字段改成自增长或者在where条件中写上条件了.
新闻热点
疑难解答
图片精选