使用PDOStatement::bindParam()
,可以将参数绑定到变量——这在多次执行准备好的语句时特别有用,每个语句都有不同的参数值。例如:
$dbh = new PDO('mysql:dbname=foo', 'eggyal', 'password1');
$qry = $dbh->prepare('DELETE FROM bar WHERE qux = ?');
$qry->bindParam(1, $qux, PDO::PARAM_INT);
while (true) {
$qux = ... ;
$qry->execute();
// etc
}
我的问题是:
是否可以将参数绑定到对象的成员变量?例如:
$qry->bindParam(1, $obj->qux, PDO::PARAM_INT);
如果是这样,这样的参数绑定到哪个 object的成员变量:
bindParam()
调用时引用的那个,还是语句执行时引用的那个?例如:$obj->qux = 123; $obj = new stdClass(); $obj->qux = 456; $qry->execute(); // which value is used for qux ?
这种行为记录在哪里(如果有的话)?