bindParam 和 bindValue 的区别如下:
bindParam:
将参数绑定到指定的变量名
将 PHP 变量绑定到 SQL 语句中相应的命名或问号占位符
变量作为引用绑定,并且只会在调用 PDOStatement::execute() 时进行评估。
<?php
$sal = 15000;
$age = 25;
$sth = $dbh->prepare('SELECT employee
FROM employee
WHERE age > :age AND salary = :sal');
$sth->bindParam(':age', $age, PDO::PARAM_INT);
$sth->bindParam(':salary', $sal, PDO::PARAM_INT);
$sth->execute();
?>
绑定值:
将值绑定到参数
将值绑定到用于准备语句的 SQL 语句中的相应命名或问号占位符。
<?php
$sal = 15000;
$age = 25;
$sth = $dbh->prepare('SELECT employee
FROM employee
WHERE age > :age AND salary = :sal');
$sth->bindValue(':age', $age, PDO::PARAM_INT);
$sth->bindValue(':salary', $sal, PDO::PARAM_INT);
$sth->execute();
?>