php pdostatement对象bindpram()、bindvalue()和bindcolumn之间的区别,pdostatementpdostatement::bindparam — 绑定一个参数到指定的变量名。
绑定一个php变量到用作预处理的sql语句中的对应命名占位符或问号占位符。 不同于 pdostatement::bindvalue() ,此变量作为引用被绑定,并只在 pdostatement::execute() 被调用的时候才取其值。
pdostatement::bindvalue — 把一个值绑定到一个参数。
绑定一个值到用作预处理的 sql 语句中的对应命名占位符或问号占位符。
复制代码 代码如下:
$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() 都将更新所有绑定到列的变量。
复制代码 代码如下:
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 );
?>
http://www.bkjia.com/phpjc/915441.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/915441.htmltecharticlephp pdostatement对象bindpram()、bindvalue()和bindcolumn之间的区别,pdostatement pdostatement::bindparam — 绑定一个参数到指定的变量名。 绑定一个php变量...