《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.fzlkiss.com/jiaocheng/13871.html