PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
程序员文章站
2023-03-26 10:21:45
pdostatement::bindparam — 绑定一个参数到指定的变量名。
绑定一个php变量到用作预处理的sql语句中的对应命名占位符或问号占位符。 不同于 pd...
pdostatement::bindparam — 绑定一个参数到指定的变量名。
绑定一个php变量到用作预处理的sql语句中的对应命名占位符或问号占位符。 不同于 pdostatement::bindvalue() ,此变量作为引用被绑定,并只在 pdostatement::execute() 被调用的时候才取其值。
pdostatement::bindvalue — 把一个值绑定到一个参数。
绑定一个值到用作预处理的 sql 语句中的对应命名占位符或问号占位符。
复制代码 代码如下:
<?php
$stm = $pdo->prepare("select * from users where user = :user");
$user = "jack";
//正确
$stm->bindparam(":user",$user);
//错误
$stm->bindparam(":user","jack");
//正确
$stm->bindvalue(":user",$user);
//正确
$stm->bindvalue(":user","jack");
//所以使用bindparam是第二个参数只能用变量名,而不能用变量值,而bindvalue至可以使用具体值。
?>
pdostatement::bindcolumn — 绑定一列到一个 php 变量。
安排一个特定的变量绑定到一个查询结果集中给定的列。每次调用 pdostatement::fetch() 或 pdostatement::fetchall() 都将更新所有绑定到列的变量。
复制代码 代码如下:
<?php
function readdata ( $dbh ) {
$sql = 'select name, colour, calories from fruit' ;
try {
$stmt = $dbh -> prepare ( $sql );
$stmt -> execute ();
/* 通过列号绑定 */
$stmt -> bindcolumn ( 1 , $name );
$stmt -> bindcolumn ( 2 , $colour );
/* 通过列名绑定 */
$stmt -> bindcolumn ( 'calories' , $cals );
while ( $row = $stmt -> fetch ( pdo :: fetch_bound )) {
$data = $name . "\t" . $colour . "\t" . $cals . "\n" ;
print $data ;
}
}
catch ( pdoexception $e ) {
print $e -> getmessage ();
}
}
readdata ( $dbh );
?>
推荐阅读
-
PHP PDOStatement对象bindpram()、bindvalue()和bindcolum
-
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
-
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
-
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别,pdostatement
-
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别,pdostatement
-
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别_PHP
-
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别_PHP
-
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
-
php pdo中PDOStatement 类的bindParam和bindValue方法的区别
-
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别_php技巧