Php Yii createCommand使用bindValue更新
我正在Yii框架中使用createCommand,我想知道参数的使用bindValue,例如:Php Yii createCommand使用bindValue更新,php,database,yii,bindvalue,Php,Database,Yii,Bindvalue,我正在Yii框架中使用createCommand,我想知道参数的使用bindValue,例如: Yii::app()->db->createCommand() ->update('table', array( 'field'=>'$valuefield', ), 'id_table=:id_table',
Yii::app()->db->createCommand()
->update('table', array(
'field'=>'$valuefield',
), 'id_table=:id_table', array(':id_table'=>$id_table));
在这种情况下,$valuefield和$id_表的值是否受保护?或者我应该手动创建sql查询并用bindValue传递参数
谢谢大家!
在这种情况下,$valuefield和$id_表的值是否受保护
对。方法
update
自动绑定在第二个参数中传递的数组值。此外,您还可以手动绑定参数以满足条件。要防止SQL注入,请始终使用绑定。受保护的是什么意思?如果受保护的意思是转义,那么$id\u table
将转义,因为您正确地传递了它<代码>$valuefield
将无法正确传递,因为它位于单引号中。这样做:Yii::app()->db->createCommand()->update('table',array('field'=>':valuefield'),'id_table=:id_table',array(':id_table'=>$id_table',:valuefield'=>$valuefield))代码>我要的是消毒。谢谢你的回复,我将在我的查询中应用它。完美!在更新命令中手动绑定条件参数的最佳方法是什么?