国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP PDOStatement::fetchAll講解

PHP PDOStatement::fetchAll講解

2019-06-24 22:36php參考手冊 PHP教程

今天小編就為大家分享一篇關于PHP PDOStatement::fetchAll講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

PDOStatement::fetchAll

PDOStatement::fetchAll — 返回一個包含結果集中所有行的數組(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

說明

語法

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

參數

fetch_style

  • 控制下一行如何返回給調用者。此值必須是 PDO::FETCH_* 系列常量中的一個,缺省為 PDO::ATTR_DEFAULT_FETCH_MODE 的值 (默認為 PDO::FETCH_BOTH )。
  • 想要返回一個包含結果集中單獨一列所有值的數組,需要指定 PDO::FETCH_COLUMN 。通過指定 column-index 參數獲取想要的列。
  • 想要獲取結果集中單獨一列的唯一值,需要將 PDO::FETCH_COLUMN 和 PDO::FETCH_UNIQUE 按位或。
  • 想要返回一個根據指定列把值分組后的關聯數組,需要將 PDO::FETCH_COLUMN 和 PDO::FETCH_GROUP 按位或。

fetch_argument

根據 fetch_style 參數的值,此參數有不同的意義:

  • PDO::FETCH_COLUMN :返回指定以0開始索引的列。
  • PDO::FETCH_CLASS :返回指定類的實例,映射每行的列到類中對應的屬性名。
  • PDO::FETCH_FUNC :將每行的列作為參數傳遞給指定的函數,并返回調用函數后的結果。

ctor_args

當 fetch_style 參數為 PDO::FETCH_CLASS 時,自定義類的構造函數的參數。

返回值

PDOStatement::fetchAll()返回一個包含結果集中所有剩余行的數組。此數組的每一行要么是一個列值的數組,要么是屬性對應每個列名的一個對象。

使用此方法獲取大結果集將導致系統負擔加重且可能占用大量網絡資源。與其取回所有數據后用PHP來操作,倒不如考慮使用數據庫服務來處理結果集。例如,在取回數據并通過PHP處理前,在SQL 中使用 WHERE 和 ORDER BY 子句來限定結果。

實例

獲取結果集中所有剩余的行

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* 獲取結果集中所有剩余的行 */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>

以上實例的輸出為:

Fetch all of the remaining rows in the result set:
Array
(
  [0] => Array
    (
      [NAME] => pear
      [0] => pear
      [COLOUR] => green
      [1] => green
    )
  [1] => Array
    (
      [NAME] => watermelon
      [0] => watermelon
      [COLOUR] => pink
      [1] => pink
    )
)

獲取結果集中單獨一列的所有值

下面例子演示了如何從一個結果集中返回單獨一列所有的值,盡管 SQL 語句自身可能返回每行多列。

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* 獲取第一列所有值 */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

以上實例的輸出為:

Array(3)
(
  [0] =>
  string(5) => apple
  [1] =>
  string(4) => pear
  [2] =>
  string(10) => watermelon
)

根據單獨的一列把所有值分組

下面例子演示了如何返回一個根據結果集中指定列的值分組的關聯數組。該數組包含三個鍵:返回的 apple 和 pear 數組包含了兩種不同的顏色,而返回的 watermelon 數組僅包含一種顏色。

<?php
$insert = $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute(array('apple', 'green'));
$insert->execute(array('pear', 'yellow'));
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* 根據第一列分組 */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

以上實例的輸出為:

array(3) {
 ["apple"]=>
 array(2) {
  [0]=>
  string(5) "green"
  [1]=>
  string(3) "red"
 }
 ["pear"]=>
 array(2) {
  [0]=>
  string(5) "green"
  [1]=>
  string(6) "yellow"
 }
 ["watermelon"]=>
 array(1) {
  [0]=>
  string(5) "green"
 }
}

每行結果實例化一個類

下面列子演示了 PDO::FETCH_CLASS 獲取風格的行為。

<?php
class fruit {
  public $name;
  public $colour;
}
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
var_dump($result);
?>

以上實例的輸出為:

array(3) {
 [0]=>
 object(fruit)#1 (2) {
  ["name"]=>
  string(5) "apple"
  ["colour"]=>
  string(5) "green"
 }
 [1]=>
 object(fruit)#2 (2) {
  ["name"]=>
  string(4) "pear"
  ["colour"]=>
  string(6) "yellow"
 }
 [2]=>
 object(fruit)#3 (2) {
  ["name"]=>
  string(10) "watermelon"
  ["colour"]=>
  string(4) "pink"
 }
}

每行調用一次函數

下面列子演示了 PDO::FETCH_FUNC 獲取風格的行為。

<?php
function fruit($name, $colour) {
  return "{$name}: {$colour}";
}
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_FUNC, "fruit");
var_dump($result);
?>

以上實例的輸出為:

array(3) {
 [0]=>
 string(12) "apple: green"
 [1]=>
 string(12) "pear: yellow"
 [2]=>
 string(16) "watermelon: pink"
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人免费视频网站高清观看视频 | 四虎影院在线 | 久久中文字幕一区 | 91久久久久久久 | 成人综合区| 午夜视频一区 | 欧美日韩在线免费观看 | 国产精品一区二区在线观看 | 51ⅴ精品国产91久久久久久 | 成人综合网站 | 久久久久网站 | 欧美日本韩国一区二区三区 | 一本大道久久a久久精二百 国产欧美视频一区二区 | 宅男lu666噜噜噜在线观看 | 成人午夜网站 | 久久尤物免费一区二区三区 | 伊人伊成久久人综合网站 | 亚洲第1页 | 久久久久久亚洲精品中文字幕 | 亚洲成人一区 | 国产高清精品在线 | 男女全黄一级一级高潮免费看 | www免费网站在线观看 | 国产精品国产自产拍高清av | 日韩在线免费 | 国产免费一区 | 蜜臀精品久久久久久蜜臀 | 久久久国产一级 | av免费网站| 亚洲淫视频 | 国产精品爱久久久久久久 | 思热99re视热频这里只精品 | 99在线视频播放 | 91最新网址 | 精品美女久久久 | 成人免费视频网站在线看 | 国产精品久久电影观看 | 免费成人黄色网址 | 久久精品亚洲精品 | 色婷婷导航 | 九色网址|