当前位置:首页 > Web开发 > 正文

并只在 PDOStatement::execute()被调用的时候才取其值

2024-03-31 Web开发

标签:

PDOStatement::bindValue — 

把一个值绑定到一个参数

绑定一个值到用作预措置惩罚惩罚的 SQL 语句中的对报定名占位符或问号占位符。

PDOStatement::bindParam —

 绑定一个参数到指定的变量名

绑定一个PHP变量到用作预措置惩罚惩罚的SQL语句中的对报定名占位符或问号占位符。 差别于 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‘

当$SEX,被再次赋值时,用bindvalue绑定的,其值还是最开始的值male,但用bindparam绑定的,因为只有在execute()被挪用时才会取变量的值,而这时候变量的$sex的值已经由本来的male酿成female了。

php之bindValue和bindParam的区别

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31673.html