SQL 주입을 피하는 좋은 방법을 따를 것입니다. 대신에매개 변수를 CDbCommand에 바인드 할 수 없습니다.
$query="SELECT id,tag FROM tbl_tags WHERE tag LIKE '%".$tag."%' ORDER BY creation_time DESC LIMIT 0,10 ";
내가 바인딩 매개 변수를 사용해야합니다 : : 그래서 이것은 좋지 않다
$query="SELECT id,tag FROM tbl_tags WHERE tag LIKE :tag ORDER BY creation_time DESC LIMIT 0,10 ";
$command =Yii::app()->db->createCommand($query);
$command->bindParam(":tag", "%{$tag}%", PDO::PARAM_STR);
$models = $command->queryAll();
을하지만이 생성 치명적인 오류 : 내가 결합 할 수있는 방법을 참조
에 의해 매개 변수 (2)를 통과 할 수 없습니다 이 LIKE 지향 매개 변수?
yii는 문서화가 잘되어 있지 않습니다. 나는 아직도 bindParam()과 bindValue() 사이의 차이를 모른다. 그러나 매개 변수를 약간 변경하면 문제가 해결됩니다. $ tag = '% $ tag %'; 그럼 bindParam() 사용할 수 있습니다. – Panmu
PHP 매뉴얼에 완벽하게 문서화되어있는 yii는 PDO가 아닙니다. –