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());
最佳答案