bindParam() と bindingValue() は非常に似ています。唯一の違いは、前者はパラメータのバインドに PHP 変数を使用するのに対し、後者は値を使用することです。メモリ内に大きなデータ ブロックを持つパラメータの場合、パフォーマンス上の理由から、前者を最初に使用する必要があります。この記事では主に、bindParam と bindingValue の違いと、Yii2 でのそれらの使用法について詳しく説明します。これは参考になるものであり、皆さんのお役に立てれば幸いです。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。
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();
関連する推奨事項:
php pdo PDOStatementクラスのbindParamメソッドとbindValueメソッドの違い
以上がbindParamとbindValueの違いの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。