PDO bindparam和bindvalue。有什么区别?

时间:2012-12-14 01:42:41

标签: php pdo bindvalue bindparam

我已经阅读了有关PHP PDO的手册,并看过这篇文章:PDO PARAM_STR and length

阅读该帖后,我了解到我们不需要在插入DB时指定长度,而是指定输出。

我的问题是,如果我不想为输出指定任何长度,我可以使用bindvalue()吗?也许有人可以就何时最好使用bindparam和bindvalue提出一个很好的建议?

先谢谢你们。

1 个答案:

答案 0 :(得分:1)

您无需设置输出长度,如果需要,可以执行此操作。

这是手册中关于bindValue()和bindParam()

之间区别的内容
  

将PHP变量绑定到用于准备语句的SQL>语句中的相应命名或问号占位符。与PDOStatement :: bindValue()不同,>变量被绑定为引用,并且仅在调用> PDOStatement :: execute()时进行评估。

     

大多数参数是输入参数,即以只读>方式使用的参数,用于构建查询。一些驱动程序支持调用存储过程>返回数据作为输出参数,一些驱动程序也支持输入/输出参数,这些参数既可以发送数据又可以更新以接收数据。

当我想添加变量时,我总是使用bindParam。但我想你必须为此做出自己的决定。