Я использую createCommand в Yii Framework, и я хочу знать об использовании bindValue для параметров, например:
Yii::app()->db->createCommand()
->update('table', array(
'field'=>'$valuefield',
), 'id_table=:id_table', array(':id_table'=>$id_table));
В этом случае значения $ valuefield и $ id_table защищены? Или я должен создать SQL-запрос вручную и передать параметры с bindValue?
Спасибо!
В этом случае значения $ valuefield и $ id_table защищены?
Да. метод update
автоматически связывает значения массива, переданные во втором параметре. А также вы вручную связываете параметр для состояния. Для предотвращения внедрения SQL всегда используйте привязку.
Других решений пока нет …