欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

bindParam和bindValue的区别以及在Yii2中的使用详解

程序员文章站 2022-03-28 18:49:38
bindparam() 和 bindvalue() 非常相似。唯一的区别就是前者使用一个 php 变量绑定参数, 而后者使用一个值。对于那些内存中的大数据块参数,处于性...

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的区别以及在yii2中的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。