bindParam和bindValue有什么區(qū)別?.之間的區(qū)別是什么?PDOStatement::bindParam()和PDOStatement::bindValue()?
3 回答

撒科打諢
TA貢獻1934條經驗 獲得超2個贊
bindParam
:
與PDOStatement:bindValue()不同,變量被綁定為引用,并且只在調用PDOStatement:Execute()時才進行計算。
調用PDOStatement:bindParam()將PHP變量綁定到參數標記:綁定變量將其值作為輸入傳遞,并接收相關參數標記的輸出值(如果有的話)
$value = 'foo';$s = $dbh->prepare('SELECT name FROM bar WHERE baz = :baz');$s->bindParam(':baz', $value); // use bindParam to bind the variable$value = 'foobarbaz';$s->execute(); // executed with WHERE baz = 'foobarbaz'
$value = 'foo';$s = $dbh->prepare('SELECT name FROM bar WHERE baz = :baz');$s->bindValue(':baz', $value); // use bindValue to bind the variable's value$value = 'foobarbaz';$s->execute(); // executed with WHERE baz = 'foo'

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
帶著 bindParam
,則只能傳遞變量,而不能傳遞值。 帶著 bindValue
,您可以同時傳遞兩者(顯然,值和變量)。 bindParam
只適用于變量,因為它允許通過“引用”將參數作為輸入/輸出給出。 (在PHP中,值不是有效的“引用”)
*對司機有用的是(引用手冊):
支持將數據作為輸出參數返回的存儲過程的調用,以及作為輸入/輸出參數的調用,這些參數既發(fā)送數據,又更新以接收數據。
- 3 回答
- 0 關注
- 926 瀏覽
添加回答
舉報
0/150
提交
取消