《PHP實(shí)例:PHP PDOStatement對象bindpram()、bindvalue()和bindcolumn之間的區(qū)別》要點(diǎn):
本文介紹了PHP實(shí)例:PHP PDOStatement對象bindpram()、bindvalue()和bindcolumn之間的區(qū)別,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP利用PDOStatement::bindParam ― 綁定一個參數(shù)到指定的變量名.
PHP應(yīng)用綁定一個PHP變量到用作預(yù)處理的SQL語句中的對應(yīng)命名占位符或問號占位符. 分歧于 PDOStatement::bindValue() ,此變量作為引用被綁定,并只在 PDOStatement::execute() 被調(diào)用的時候才取其值.
PHP利用PDOStatement::bindValue ― 把一個值綁定到一個參數(shù).
PHP應(yīng)用綁定一個值到用作預(yù)處置的 SQL 語句中的對應(yīng)命名占位符或問號占位符.
代碼如下:
<?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是第二個參數(shù)只能用變量名,而不克不及用變量值,而bindValue至可以使用具體值.
?>
PHP應(yīng)用PDOStatement::bindColumn ― 綁定一列到一個 PHP 變量.
PHP應(yīng)用支配一個特定的變量綁定到一個查詢結(jié)果集中給定的列.每次調(diào)用 PDOStatement::fetch() 或 PDOStatement::fetchAll() 都將更新所有綁定到列的變量.
代碼如下:
<?php
function? readData ( $dbh ) {
????$sql? =? 'SELECT name, colour, calories FROM fruit' ;
????try {
????????$stmt? =? $dbh -> prepare ( $sql );
????????$stmt -> execute ();
?
????????/*? 經(jīng)由過程列號綁定? */
????????$stmt -> bindColumn ( 1 ,? $name );
????????$stmt -> bindColumn ( 2 ,? $colour );
?
????????/*? 經(jīng)由過程列名綁定? */
????????$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實(shí)例:PHP PDOStatement對象bindpram()、bindvalue()和bindcolumn之間的區(qū)別》是否對您有啟發(fā),歡迎查看更多與《PHP實(shí)例:PHP PDOStatement對象bindpram()、bindvalue()和bindcolumn之間的區(qū)別》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/13871.html