bindParamとbindValueの違いとYii 2での使用の詳細


bindParam()とbindValue()はとても似ています。唯一の違いは前者はPHP変数バインディングパラメータを使用していますが、後者は値を使用しています。これらのメモリ中の大きなデータブロックパラメータは、性能を考慮して前者を優先的に使用するべきである。
IDに基づいてデータを調べて、idをフィルタします。

$id = 1;
$result = Yii::$app->db->createCommand("select * from product where id=:id")->bindParam(":id",$id,\PDO::PARAM_INT)->queryAll();
$result = Yii::$app->db->createCommand("select * from product where id=:id")->bindParam(":id",$id,\PDO::PARAM_STR)->queryAll();
データを更新:

$id = 1;
$name = 'xiaoming';
$result = Yii::$app->db->createCommand("update product set name=:name where id=:id")->bindParam(':id',$id,\PDO::PARAM_INT)->bindParam(':name',$name,\PDO::PARAM_INT)->execute();
以下の書き方は会議で誤報します。

$result = Yii::$app->db->createCommand()->delete('product',['name'=>':value'],'id=:id')->bindValue(':id',1,\PDO::PARAM_INT)->bindParam(':value',$user,\PDO::PARAM_INT)->execute();
以上のbindParamとbindValueの違いとYii 2での使い方の詳細は、小編が皆さんに共有している内容です。参考にしていただければと思います。どうぞよろしくお願いします。