Rumah  >  Artikel  >  pembangunan bahagian belakang  >  bindParam和bindValue的区别详解

bindParam和bindValue的区别详解

小云云
小云云asal
2018-03-14 09:30:182227semak imbas

bindParam() 和 bindValue() 非常相似。唯一的区别就是前者使用一个 PHP 变量绑定参数, 而后者使用一个值。对于那些内存中的大数据块参数,处于性能的考虑,应优先使用前者。本文主要和大家分享一篇bindParam和bindValue的区别以及在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方法的区别

Atas ialah kandungan terperinci bindParam和bindValue的区别详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn