$map= array(
'title'=>array('like','%新华社%')
);
$New=M('New');
$New->where($map)->count('id');
echo $New->_sql();输出 'SELECT COUNT(id) AS tp_count FROM `z_new` WHERE ( `ti最后一个字乱码.
于是我一直跟踪到了 db.class.php 的 parseValue方法,这个方法是
protected function parseValue($value) {
if(is_string($value)) {
echo $value,'<br/>'; //这里是 %新华社%
$value = '\''.$this->escapeString($value).'\'';
echo $value,'<br/>'; //这里是 %新华�\�%
}elseif(isset($value[0]) && is_string($value[0]) && strtolower($value[0]) == 'exp'){
$value = $this->escapeString($value[1]);
}elseif(is_array($value)) {
$value = array_map(array($this, 'parseValue'),$value);
}elseif(is_bool($value)){
$value = $value ? '1' : '0';
}elseif(is_null($value)){
$value = 'null';
}
return $value;
}问题就在这里 按理说 我在该类的 escapeString方法里面输出也应该有值,
但是实际上没有.求大神知道,这玩意在什么地方处理的
最佳答案