bindParam和bindValue有什么区别?.之间的区别是什么?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中,值不是有效的“引用”)
*对司机有用的是(引用手册):
支持将数据作为输出参数返回的存储过程的调用,以及作为输入/输出参数的调用,这些参数既发送数据,又更新以接收数据。
- 3 回答
- 0 关注
- 906 浏览
添加回答
举报
0/150
提交
取消