久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      PHP數(shù)據(jù)庫學(xué)習(xí)之怎樣使用PDO獲取查詢結(jié)果?

      在之前的文章中給大家?guī)砹恕禤HP數(shù)據(jù)庫學(xué)習(xí)之怎樣使用PDO執(zhí)行SQL語句?》,其中詳細(xì)的介紹了應(yīng)該怎樣使用PDO執(zhí)行SQL語句的相關(guān)知識,本篇我們繼續(xù)來看一下PHP怎樣使用PDO獲取查詢結(jié)果。希望能夠幫助到大家!

      PHP數(shù)據(jù)庫學(xué)習(xí)之怎樣使用PDO獲取查詢結(jié)果?

      在之前的文章中我們已經(jīng)學(xué)會了怎樣使用PDO執(zhí)行SQL語句,那接下來我們來看一看PDO的數(shù)據(jù)獲取方法,PDO的數(shù)據(jù)獲取方法與其他數(shù)據(jù)庫擴(kuò)展都是非常類似的。

      只要成功執(zhí)行SELECT 查詢,就都會有結(jié)果集對象生成,不管是使用PDO對象中的qurey()方法還是使用 prepare() execute() 等方法結(jié)合的預(yù)處理語句,執(zhí)行 SELECT 查詢都會得到結(jié)果集對象 PDOStatement。

      通過 PDOStatement 類中的方法就可以獲取 SELECT 語句的查詢結(jié)果,接下來我們就來看一下PDOStatement 類中常見的幾個(gè)獲取結(jié)果集數(shù)據(jù)的方法。

      fetch() 方法

      fetch() 方法可以從一個(gè) PDOStatement 對象的結(jié)果集中獲取當(dāng)前行的內(nèi)容,并將結(jié)果集指針移至下一行,當(dāng)?shù)竭_(dá)結(jié)果集末尾時(shí)返回 FALSE,該方法的語法格式如下:

      PDOStatement::fetch([int $fetch_style[, int $cursor_orientation = PDO::FETCH_ORI_NEXT[, int $cursor_offset = 0]]])

      其中需要注意的是:

      $fetch_style 表示可選參數(shù),用來控制下一行如何返回給調(diào)用者。其中這個(gè)參數(shù)的值必須是 PDO::FETCH_* 系列常量中的一個(gè),如下所示:

      • PDO::FETCH_ASSOC 表示返回一個(gè)關(guān)聯(lián)數(shù)組;

      • PDO::FETCH_BOTH(默認(rèn)) 表示返回一個(gè)索引數(shù)組加關(guān)聯(lián)數(shù)組混合的數(shù)組

      • PDO::FETCH_BOUND 表示返回 TRUE,并分配結(jié)果集中的值給 PDOStatement::bindColumn() 方法綁定的 PHP 變量

      • PDO::FETCH_OBJ 表示返回一個(gè)屬性名對應(yīng)結(jié)果集列名的匿名對象。

      • PDO::FETCH_CLASS:返回一個(gè)請求類的新實(shí)例,映射結(jié)果集中的列名到類中對應(yīng)的屬性名。

      如果 fetch_style 包含 PDO::FETCH_CLASSTYPE 例如:PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE,則類名由第一列的值決定;

      $cursor orientation 表示可選參數(shù),用來確定當(dāng)對象是一個(gè)可滾動(dòng)的游標(biāo)時(shí)應(yīng)當(dāng)獲取哪一行。此值必須是 PDO::FETCH_ORI_* 系列常量中的一個(gè),默認(rèn)為 PDO::FETCH_ORI_NEXT。

      $offset 表示可選參數(shù),當(dāng)參數(shù) $cursor_orientation 設(shè)置為 PDO::FETCH_ORI_ABS 時(shí),此值指定結(jié)果集中想要獲取行的絕對行號;當(dāng)參數(shù) $cursor_orientation 設(shè)置為 PDO::FETCH_ORI_REL 時(shí),此值指定想要獲取行相對于調(diào)用 PDOStatement::fetch() 前游標(biāo)的位置。

      接下來我們通過示例來看一下使用 fetch() 方法,獲取 SELECT 語句的查詢結(jié)果。示例如下:

      <?php     $dsn  = 'mysql:host=127.0.0.1;dbname=test';     $user = 'root';     $pwd  = 'root';     try{         $pdo = new PDO($dsn,$user,$pwd);         $sql = 'SELECT name,age,sex FROM user WHERE age = '12'';         $res = $pdo -> query($sql);         echo '<pre>';         while ($row = $res -> fetch(PDO::FETCH_ASSOC)){             print_r($row);         }     }catch(PDOException $e){         echo '數(shù)據(jù)庫連接失?。?#39;.$e -> getMessage();     } ?>

      輸出結(jié)果:

      PHP數(shù)據(jù)庫學(xué)習(xí)之怎樣使用PDO獲取查詢結(jié)果?

      由此我們便通過fetch() 方法完成了從一個(gè) PDOStatement 對象的結(jié)果集中獲取當(dāng)前行的內(nèi)容。$offset 表示可選參數(shù),當(dāng)參數(shù) $cursor_orientation 設(shè)置為 PDO::FETCH_ORI_ABS 時(shí),此值指定結(jié)果集中想要獲取行的絕對行號;當(dāng)參數(shù) $cursor_orientation 設(shè)置為 PDO::FETCH_ORI_REL 時(shí),此值指定想要獲取行相對于調(diào)用 PDOStatement::fetch() 前游標(biāo)的位置。

      接下來我們看一下fetchAll() 方法的應(yīng)用。

      fetchAll() 方法

      fetchAll() 方法與上面介紹的 fetch() 方法類似,但是該方法只需要調(diào)用一次就可以獲取結(jié)果集中的所有行,并賦給返回的數(shù)組。該方法的語法格式如下:

      PDOStatement::fetchAll([int $fetch_style[, mixed $fetch_argument[, array $ctor_args = array()]]])

      其中需要注意的是:

      $fetch_style 表示可選參數(shù),用來控制返回?cái)?shù)組的內(nèi)容,默認(rèn)值為 PDO::FETCH_BOTH。該參數(shù)的取值與 fetch() 方法相同

      $fetch_argument 根據(jù) $fetch_style 參數(shù)的值,此參數(shù)有不同的意義:

      • PDO::FETCH_COLUMN:返回指定以 0 開始索引的列;

      • PDO::FETCH_CLASS:返回指定類的實(shí)例,映射每行的列到類中對應(yīng)的屬性名;

      • PDO::FETCH_FUNC:將每行的列作為參數(shù)傳遞給指定的函數(shù),并返回調(diào)用函數(shù)后的結(jié)果。

      $ctor_args 表示當(dāng) $fetch_style 參數(shù)為 PDO::FETCH_CLASS 時(shí),自定義類的構(gòu)造函數(shù)的參數(shù)。

      接下來我們通過示例來看一下fetchAll() 方法的實(shí)際應(yīng)用,示例如下:

      <?php     $dsn  = 'mysql:host=127.0.0.1;dbname=test';     $user = 'root';     $pwd  = 'root';     try{         $pdo  = new PDO($dsn,$user,$pwd);         $sql  = 'SELECT name,age,sex FROM user WHERE sex = '男'';         $res  = $pdo -> query($sql);         $data = $res -> fetchAll(PDO::FETCH_ASSOC);         echo '<pre>';         print_r($data);     }catch(PDOException $e){         echo '數(shù)據(jù)庫連接失?。?#39;.$e -> getMessage();     } ?>

      輸出結(jié)果:

      PHP數(shù)據(jù)庫學(xué)習(xí)之怎樣使用PDO獲取查詢結(jié)果?

      由此我們便通過使用 fetchAll() 方法,獲取 SELECT 語句的查詢結(jié)果。$ctor_args 表示當(dāng) $fetch_style 參數(shù)為 PDO::FETCH_CLASS 時(shí),自定義類的構(gòu)造函數(shù)的參數(shù)。

      接下來我們看一下fetchColumn() 方法的使用。

      fetchColumn() 方法

      fetchColumn() 方法可以獲取結(jié)果集中當(dāng)前行指定字段的值,其語法格式如下:

      PDOStatement::fetchColumn([int $column_number = 0])

      其中需要注意的是:

      參數(shù) $column_number表示的是想從行里取回的列的索引數(shù)字。

      如果該參數(shù)沒有取值,也就是如果沒有提供值,那么則會從第一列開始獲取。

      接下來我們通過示例來看一下fetchColumn() 方法的使用,示例如下:

      <?php     $dsn  = 'mysql:host=127.0.0.1;dbname=test';     $user = 'root';     $pwd  = 'root';     try{         $pdo = new PDO($dsn,$user,$pwd);         $sql = 'SELECT name,age,sex FROM user';         $res = $pdo -> query($sql);         echo '當(dāng)前行第一列的值為:'.$res -> fetchColumn().'<br>';         echo '當(dāng)前行第三列的值為:'.$res -> fetchColumn(2).'<br>';         echo '當(dāng)前行第二列的值為:'.$res -> fetchColumn(1).'<br>';     }catch(PDOException $e){         echo '數(shù)據(jù)庫連接失?。?#39;.$e -> getMessage();     } ?>

      輸出結(jié)果:

      PHP數(shù)據(jù)庫學(xué)習(xí)之怎樣使用PDO獲取查詢結(jié)果?

      由此我們便通過使用 fetchColumn() 方法,獲取指定字段的值。

      大家如果感興趣的話,可以點(diǎn)擊《PHP視頻教程》進(jìn)行

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號