tp3.2 save方法有一个大bug

浏览:245 发布日期:2019/05/19 分类:求助交流 关键字: bug
public function test(){
        M('test') -> where(array(
            'stime' => array('gt', "2019-05-19 07:00:00")
        )) -> save(array(
            'name' => 'test'
        ));
        
        echo M() -> getLastSql();
    }
最后执行的sql是:UPDATE `dd_test` SET `name`='test' WHERE `stime` > '2019-05-19 07'test'0'test'0'表结构CREATE TABLE `dd_test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `stime` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
分析:解析前的sql是:UPDATE `dd_test` SET `name`=:0 WHERE `stime` > '2019-05-19 07:00:00'
<br/>
参数绑定错误解析了时间中的冒号:0
结果:这里解析出来的sql只是用来记录日志的,真正执行的sql还是pdo的参数绑定
最佳答案
评论( 相关
后面还有条评论,点击查看>>