严重啊,save($data)方法如果遇到 where中有:0时乱入

浏览:1260 发布日期:2016/01/20 分类:求助交流 关键字: model save where bind bug
严重啊,save($data)方法如果遇到 where中有:0时会乱入。
where语句中的 :0,:1,:2 被认为是绑定变量了,这样在save时就乱啦,把 data中要更新的值乱入到了 where中了。比如我where 中有个时间 y-m-d :00:1:2 ,被data中要更新的值给混了。$dtime = date('Y-m-d :0:10:20');
        $where = array(
            'state' => 0,
            'book_time' => array('gt',$dtime) //对比时间 有 :0,:1
        );
        print_r('where:');
        print_r($where);
        $data = array(
            'state' => '99',
            'close_time' => '222',
            'close_state_str' => '中文',
        );
        print_r('data:');
        print_r($data);
        $ret = M('order')->where($where)->data($data)->save();
        echo "\r\n";
        echo "SQL:";
        print_r(M()->_sql());
最佳答案
评论( 相关
后面还有条评论,点击查看>>