官方文档说EXP不区分大小写,我修改数据的时候刚好用了大写就报错了。
看了下源码发现的driver.class.php里面parseSet函数没兼容大写,查询的时候是有兼容大写的
看了下源码发现的driver.class.php里面parseSet函数没兼容大写,查询的时候是有兼容大写的
protected function parseSet($data) {
foreach ($data as $key=>$val){
if(is_array($val) && 'exp' == $val[0]){
$set[] = $this->parseKey($key).'='.$val[1];
}elseif(is_null($val)){
$set[] = $this->parseKey($key).'=NULL';
}elseif(is_scalar($val)) {// 过滤非标量数据
if(0===strpos($val,':') && in_array($val,array_keys($this->bind)) ){
$set[] = $this->parseKey($key).'='.$this->escapeString($val);
}else{
$name = count($this->bind);
$set[] = $this->parseKey($key).'=:'.$name;
$this->bindParam($name,$val);
}
}
}
return ' SET '.implode(',',$set);
}