欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP PDOStatement對(duì)象bindpram()、bindvalue()和bindcolumn之間的區(qū)別

 更新時(shí)間:2014年11月20日 09:46:14   投稿:junjie  
這篇文章主要介紹了PHP PDOStatement對(duì)象bindpram()、bindvalue()和bindcolumn之間的區(qū)別,需要的朋友可以參考下

PDOStatement::bindParam — 綁定一個(gè)參數(shù)到指定的變量名。

綁定一個(gè)PHP變量到用作預(yù)處理的SQL語句中的對(duì)應(yīng)命名占位符或問號(hào)占位符。 不同于 PDOStatement::bindValue() ,此變量作為引用被綁定,并只在 PDOStatement::execute() 被調(diào)用的時(shí)候才取其值。

PDOStatement::bindValue — 把一個(gè)值綁定到一個(gè)參數(shù)。

綁定一個(gè)值到用作預(yù)處理的 SQL 語句中的對(duì)應(yīng)命名占位符或問號(hào)占位符。

復(fù)制代碼 代碼如下:

<?php
$stm = $pdo->prepare("select * from users where user = :user");
$user = "jack";
//正確
$stm->bindParam(":user",$user);
//錯(cuò)誤
$stm->bindParam(":user","jack");
//正確
$stm->bindValue(":user",$user);
//正確
$stm->bindValue(":user","jack");
 
//所以使用bindParam是第二個(gè)參數(shù)只能用變量名,而不能用變量值,而bindValue至可以使用具體值。
?>

PDOStatement::bindColumn — 綁定一列到一個(gè) PHP 變量。

安排一個(gè)特定的變量綁定到一個(gè)查詢結(jié)果集中給定的列。每次調(diào)用 PDOStatement::fetch() 或 PDOStatement::fetchAll() 都將更新所有綁定到列的變量。

復(fù)制代碼 代碼如下:

<?php
function  readData ( $dbh ) {
    $sql  =  'SELECT name, colour, calories FROM fruit' ;
    try {
        $stmt  =  $dbh -> prepare ( $sql );
        $stmt -> execute ();
 
        /*  通過列號(hào)綁定  */
        $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 );
?>

相關(guān)文章

最新評(píng)論