Ahs*_*din -2 php mysql sql yii
我正在使用原始文本查询来生成结果。但是为了避免 sql 注入,它希望对传入 userStat() 函数的变量(即 $from 和 $to)进行参数化查询。
puclic function userStat($from, $to){
$sql = "select u.user_id as ID, u.email as Email
from User u
where u.type = 'x'
and u.join_date BETWEEN '$from' AND '$to'";
$rawData = Yii::app()->db->createCommand($sql);
return $userData = new CSqlDataProvider($rawData, array(
'keyField'=>'ID',
));
}
Run Code Online (Sandbox Code Playgroud)
现在我想用文本查询($sql)绑定 $from 和 $to。
请帮我弄清楚这一点。
你可以使用bindParam然后queryAll()。像下面这样的东西。
$sql = "select u.user_id as ID, u.email as Email
from User u
where u.type = 'x'
and u.join_date BETWEEN :start AND :end";
$rawData = Yii::app()->db->createCommand($sql);
$rawData->bindParam(":start", $from, PDO::PARAM_STR);
$rawData->bindParam(":end", $to, PDO::PARAM_STR);
$data = $rawData->queryAll();
Run Code Online (Sandbox Code Playgroud)
有关详细信息bindParam。我认为它会解决你的问题。