我对使用绑定感到困惑!下面这两个代码有什么区别吗?
$stmt->bindValue( ":password", $password, PDO::PARAM_INT );
$stmt->bindParam(':password',$password);
我对使用绑定感到困惑!下面这两个代码有什么区别吗?
$stmt->bindValue( ":password", $password, PDO::PARAM_INT );
$stmt->bindParam(':password',$password);
根据PHP.Net,
与 PDOStatement::bindValue() 不同,该变量被绑定为引用,并且只会在调用 PDOStatement::execute() 时进行评估。
所以使用bindParam(),如果你在调用execute()之前改变了变量,它将使用改变的值。bindValue() 将立即评估它并使用该值,而不关心在调用 bindValue() 之后但在 execute() 之前的任何更改。