答案 1
从 PDOStatement::bindParam
的手动输入:
[与]与 不同,变量被绑定为引用,并且只在调用时被计算。
bindParam
PDOStatement::bindValue()
PDOStatement::execute()
例如:
$sex = 'male';
$s = $dbh->prepare('SELECT name FROM students WHERE sex = :sex');
$s->bindParam(':sex', $sex); // use bindParam to bind the variable
$sex = 'female';
$s->execute(); // executed with WHERE sex = 'female'
或
$sex = 'male';
$s = $dbh->prepare('SELECT name FROM students WHERE sex = :sex');
$s->bindValue(':sex', $sex); // use bindValue to bind the variable's value
$sex = 'female';
$s->execute(); // executed with WHERE sex = 'male'
答案 2
以下是我可以考虑的一些:
- 使用 ,您只能传递变量 ;不是值
bindParam
- 使用 ,您可以传递两者(显然,值和变量)
bindValue
-
bindParam
仅适用于变量,因为它允许通过“引用”将参数作为输入/输出给出(并且在PHP中值不是有效的“引用”),它对驱动程序很有用(引用手册):
支持调用将数据作为输出参数返回的存储过程,有些还支持作为输入/输出参数的调用,这些参数既可以发送数据,又可以更新以接收数据。
对于某些数据库引擎,存储过程可以具有可用于输入(从PHP到过程的值)和ouput(将存储过程的值返回给PHP)的参数;要绑定这些参数,你必须使用bindParam,而不是bindValue。
推荐
-
相当于Java中PHP的crypt函数 我正在将我的PHP代码迁移到Google App Engine - Java。因此,我需要一个相当于Java中PHP的crypt函数,因为我已将使用crypt的注册用户的所有密码存储在我的数据库中。 编辑1:这是我用于加密密码的php
-
需要有关如何从接受语言请求标头获取首选语言的示例 我需要一个代码示例或库来解析标头并返回我的首选语言。 指出: “接受语言请求标头”字段类似于“接受”,但限制首选作为请求响应的自然语言集。语言标记在第 3.10 节中定义。
-
无法在 Java 和 PHP 之间交换使用 AES-256 加密的数据 我的问题是:我在Java中加密的东西,我可以在Java中完全解密,但PHP不能解密。我用加密的内容可以使用 解密,但不能在 Java 中解密。 我想从Java应用程序发送和接收加密数据到PHP页面,所以我
-
-
Quercus是Java环境中PHP的可行替代品吗? 对于任何偶然发现这个问题的人,他们不知道是什么 - 它是用Java完成的PHP的实现。 对于我目前正在从事的项目,我们通过cgi在servlet上提供php页面(我知道它很笨拙,但这是支持遗留代码的要求
标签