我正在使用CSqlDataProvider来获取数据。我自己构建查询。
如何在构造mysql查询时转义字符串?
我尝试使用mysql_real_escape_string
,但它不起作用
$count=Yii::app()->db->createCommand($this->constructCountQuery())->queryScalar();
return $dataProvider = new CSqlDataProvider($this->constructDataQuery(), array(
'totalItemCount'=>$count,
'sort'=>array(
'attributes'=>array(
'clinic_name', 'doctor_name','country'
),
),
'pagination'=>array(
'pageSize'=>10,
),
));
答案 0 :(得分:2)
使用命名参数并使用params
属性指定参数。 Yii的PDO将无意中使用字符串
例如
$dataProvider = new CSqlDataProvider('SELECT * FROM posts WHERE `title`=:title', array(
'totalItemCount'=>$count,
'params'=>array(
':title'=>$title,
),
'sort'=>array(
'attributes'=>array(
'clinic_name', 'doctor_name','country'
),
),
'pagination'=>array(
'pageSize'=>10,
),
));