php - bindParam和bindValue有什么区别?

标签 php pdo bindparam bindvalue

最佳答案

来自the manual entry for PDOStatement::bindParam :

[With bindParam] Unlike PDOStatement::bindValue(), the variable is bound as a reference and will only be evaluated at the time that PDOStatement::execute() is called.

例如:

$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'

关于php - bindParam和bindValue有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28725286/

相关文章:

php - 为什么我通过 php/mysql 生成的 CSV 文件上写有错误,而不是数据

php - 在 Eloquent Laravel 中为 Between 编写原始查询

php - 如何在 PHP 和 MySQL 中使用 PDO 显示列值?

php - 如何使用带有数组作为第二个参数的 mysqli::bind_param

javascript - 循环遍历 HTML 表并使用 jquery/javascript 将 td 值存储为字符串

php - 如何打印 Paypal 返回数组

php - 向所有 json_encode() 数据添加一个通用词

php - PDO 获取问题

php - 如何在不重复参数的情况下将参数绑定(bind)到多个值

php - SQL bindParam 不工作