Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii createCommand使用bindValue更新_Php_Database_Yii_Bindvalue - Fatal编程技术网

Php 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框架中使用createCommand,我想知道参数的使用bindValue,例如:

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))我要的是消毒。谢谢你的回复,我将在我的查询中应用它。完美!在更新命令中手动绑定条件参数的最佳方法是什么?