PDOStatement::fetchAll

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::fetchAll 锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷械锟斤拷锟斤拷锟�

说锟斤拷

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

锟斤拷锟斤拷

fetch_style

锟斤拷锟狡凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟酵� PDOStatement::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() 锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞o拷锟斤拷械锟斤拷锟斤拷椤o拷锟斤拷锟斤拷锟斤拷每一锟斤拷要么锟斤拷一锟斤拷锟斤拷值锟斤拷锟斤拷锟介,要么锟斤拷锟斤拷锟皆讹拷应每锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷

使锟矫此凤拷锟斤拷锟斤拷取锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷系统锟斤拷锟斤拷锟斤拷锟斤拷锟揭匡拷锟斤拷占锟矫达拷锟斤拷锟斤拷锟斤拷锟斤拷源锟斤拷锟斤拷锟斤拷取锟斤拷锟斤拷锟斤拷锟斤拷锟捷猴拷锟斤拷PHP锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟界考锟斤拷使锟斤拷锟斤拷锟捷匡拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷纾拷锟饺★拷锟斤拷锟斤拷莶锟酵拷锟絇HP锟斤拷锟斤拷前锟斤拷锟斤拷 SQL 锟斤拷使锟斤拷 WHERE 锟斤拷 ORDER BY 锟接撅拷锟斤拷锟睫讹拷锟斤拷锟斤拷锟�

锟斤拷锟斤拷

Example #1 锟斤拷取锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞o拷锟斤拷锟斤拷

<?php
$sth 
$dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* 锟斤拷取锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞o拷锟斤拷锟斤拷 */
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
        )

)

Example #2 锟斤拷取锟斤拷锟斤拷锟斤拷械锟斤拷锟揭伙拷械锟斤拷锟斤拷锟街�

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷示锟斤拷锟斤拷未锟揭伙拷锟斤拷锟斤拷锟斤拷锟叫凤拷锟截碉拷锟斤拷一锟斤拷锟斤拷锟叫碉拷值锟斤拷锟斤拷锟斤拷 SQL 锟斤拷锟斤拷锟斤拷锟斤拷锟杰凤拷锟斤拷每锟叫讹拷锟叫★拷

<?php
$sth 
$dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* 锟斤拷取锟斤拷一锟斤拷锟斤拷锟斤拷值 */
$result $sth->fetchAll(PDO::FETCH_COLUMN0);
var_dump($result);
?>

锟斤拷锟斤拷锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷锟斤拷冢锟�

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

Example #3 锟斤拷锟捷碉拷锟斤拷锟斤拷一锟叫帮拷锟斤拷锟斤拷值锟斤拷锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷示锟斤拷锟斤拷畏锟斤拷锟揭伙拷锟斤拷锟斤拷萁锟斤拷锟斤拷锟斤拷指锟斤拷锟叫碉拷值锟斤拷锟斤拷墓锟斤拷锟斤拷锟斤拷椤o拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟截碉拷 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"
  }
}

Example #4 每锟叫斤拷锟绞碉拷锟斤拷锟揭伙拷锟斤拷锟�

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷示锟斤拷 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"
  }
}

Example #5 每锟叫碉拷锟斤拷一锟轿猴拷锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷示锟斤拷 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"
}

锟轿硷拷

  • PDO::query() - 执锟斤拷 SQL 锟斤拷洌拷锟� PDOStatement 锟斤拷锟斤拷锟斤拷式锟斤拷锟截斤拷锟斤拷锟�
  • PDOStatement::fetch() - 锟接斤拷锟斤拷锟斤拷谢锟饺★拷锟揭伙拷锟�
  • PDOStatement::fetchColumn() - 锟接斤拷锟斤拷锟斤拷械锟斤拷锟揭伙拷蟹锟斤拷氐锟斤拷锟斤拷锟揭伙拷小锟�
  • PDO::prepare() - 准锟斤拷要执锟叫碉拷锟斤拷洌拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟�
  • PDOStatement::setFetchMode() - 为锟斤拷锟斤拷锟斤拷锟侥拷系幕锟饺∧J斤拷锟�