ThinkPHP中where方法中变量不解析的解决方法(亲测有效)
程序员文章站
2022-05-03 20:29:54
2018年5月4日 01:15 血的教训,今天做一个项目,需要批量更新数据,所以where中必须用变量。发现where里的变量不解析并且会直接报错,然后通过搜索发现可以在双引号中的左右加号中包裹变量...
2018年5月4日 01:15 血的教训,今天做一个项目,需要批量更新数据,所以where中必须用变量。发现where里的变量不解析并且会直接报错,然后通过搜索发现可以在双引号中的左右加号中包裹变量,结果是不报错了,但数据表里的记录一直被最后一条覆盖。始终找不到原因,一直以为是for循环哪里出了问题,直到现在才找到这个括号包裹的方法,苦想一天的问题终于解决,于是怀着各种(mmp)的心情下写下这篇文章希望和大家一起回避这些没有明文规范的坑。。。
下面直接上实例:
$envir->where("cityid=($cityid) and reltoday=($i)")->save($newdata);
where语句中变量必须为单引号括起来才可以解析。
据说用双引号括起来结果是不可以的。
具体原因不详!