首頁  >  文章  >  後端開發  >  bindParam和bindValue的區別詳解

bindParam和bindValue的區別詳解

小云云
小云云原創
2018-03-14 09:30:182171瀏覽

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方法的區別

以上是bindParam和bindValue的區別詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn