《PHP实例:PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别》要点:
本文介绍了PHP实例:PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别,希望对您有用。如果有疑问,可以联系我们。
PHP利用PDOStatement::bindParam ― 绑定一个参数到指定的变量名.
PHP应用绑定一个PHP变量到用作预处理的SQL语句中的对应命名占位符或问号占位符. 分歧于 PDOStatement::bindValue() ,此变量作为引用被绑定,并只在 PDOStatement::execute() 被调用的时候才取其值.
PHP利用PDOStatement::bindValue ― 把一个值绑定到一个参数.
PHP应用绑定一个值到用作预处置的 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至可以使用具体值.
?>
PHP应用PDOStatement::bindColumn ― 绑定一列到一个 PHP 变量.
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实例:PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别》是否对您有启发,欢迎查看更多与《PHP实例:PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别》相关教程,学精学透。维易PHP学院为您提供精彩教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/13871.html