Latest web development tutorials
×

PHP Kurs

PHP Kurs PHP Kurze Einführung PHP installieren PHP Grammatik PHP Variable PHP echo/print PHP Datentypen PHP Konstante PHP Schnur PHP Die Betreiber PHP If...Else PHP Switch PHP Feld PHP Sortieren eines Array PHP Superglobals PHP While Verkehr PHP For Verkehr PHP Funktion PHP Magische Variablen PHP Namespaces PHP Objektorientiert

PHP Form

PHP Form PHP Formularauthentifizierung PHP Form - Erforderliche Felder PHP Form - Überprüfung E-Mail und URL PHP Komplette Formularinstanz PHP $_GET Variable PHP $_POST Variable

PHP Erweiterte Tutorial

PHP Mehrdimensionale Arrays PHP Datum PHP enthalten PHP Datei PHP Datei-Upload PHP Cookie PHP Session PHP E-mail PHP Sicherheit E-mail PHP Error PHP Exception PHP Filter PHP Erweiterte Filter PHP JSON

PHP 7 Neue Funktionen

PHP 7 Neue Funktionen

PHP Datenbank

PHP MySQL Kurze Einführung PHP MySQL Verbindung PHP MySQL Erstellen einer Datenbank PHP MySQL Erstellen Sie eine Datentabelle PHP MySQL einfügen von Daten PHP MySQL Legen Sie mehrere Daten PHP MySQL Prepared Statements PHP MySQL Lesen Sie Daten PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX Kurze Einführung AJAX PHP AJAX Datenbank AJAX XML AJAX Echtzeitsuche AJAX RSS Reader AJAX Abstimmung

PHP Referenzhandbuch

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Bildverarbeitung PHP RESTful

PDOStatement :: fetchAll

PHP PDO-Referenzhandbuch PHP PDO - Referenzhandbuch

PDOStatement :: fetchAll - gibt ein Array aller Zeilen in der Ergebnismenge (PHP 5> = 5.1.0, PECL gU> = 0.1.0)


Erklärung

Grammatik

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

Parameter

fetch_style

Wie die nächste Zeile zu steuern, wird an den Aufrufer zurückgegeben. Dieser Wert muss PDO :: FETCH_ * Konstanten in einer Reihe, ist der Standardwert für die PDO :: ATTR_DEFAULT_FETCH_MODE (Standard PDO :: FETCH_BOTH).

Um eine Ergebnismenge zurück, die ein Array aller Werte in einer einzigen Spalte enthält, müssen Sie PDO :: FETCH_COLUMN angeben. Holen Sie sich die gewünschten Spalten durch Spaltenindex Parameter angeben.

Möchten Sie das Ergebnis Satz von eindeutigen Werten in einer Spalte zu bekommen, müssen Sie PDO :: FETCH_COLUMN und PDO :: FETCH_UNIQUE bit- oder.

Um eine Spalte zurückgeben basierend auf den angegebenen Wert des assoziativen Arrays gruppiert, müssen wir PDO :: FETCH_COLUMN und PDO :: FETCH_GROUP bit- oder.

fetch_argument
Fetch_style Parameter auf dem Wert dieses Parameters basiert eine andere Bedeutung hat:

  • PDO::FETCH_COLUMN : Rückkehr zu den Null-indizierten Spalten.

  • PDO::FETCH_CLASS : gibt eine Instanz der angegebenen Klasse, Mapping - Spalte für jede Zeile der Klasse entsprechenden Attributnamen.

  • PDO::FETCH_FUNC : die Spalte jeder Zeile als Argument an die angegebene Funktion, und gibt das Ergebnis nach Funktion aufrufen.

ctor_args
Wenn fetch_style Parameter PDO :: FETCH_CLASS, da die Definition der Klasse Konstruktorparameter.


Rückgabewert

PDOStatement :: fetchAll () gibt eine Ergebnismenge, die ein Array von allen übrigen Linien enthält. Jede Zeile dieser Anordnung ist ein Array oder ein Spaltenwert oder ein Objekt-Attribut auf jeden Spaltennamen entspricht.

Verwenden Sie diese Methode eine große Ergebnismenge zu erhalten, wird das System Belastung verursachen und eine Menge von Netzwerk-Ressourcen in Anspruch nehmen. Rufen Sie alle Daten und deren Verwendung PHP zu arbeiten, wäre es besser, die Verwendung von Datenbankdienste zu prüfen, mit der Ergebnismenge zu bewältigen. Zum Beispiel vor und Abrufen von Daten durch den PHP-Prozess, um die Ergebnisse mit WHERE und ORDER BY-Klauseln in SQL definieren.


Beispiele

Erhalten Sie alle verbleibenden Zeilen in der Ergebnismenge

<?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);
?>

Die Ausgabe des obigen Beispiels ist:

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
        )

)

ein einzelnes Ergebnis alle Werte eingestellt wird

Das folgende Beispiel zeigt, wie eine separate Rück alle Werte eines Ergebnis zu konzentrieren, auch wenn die SQL-Anweisung selbst mehrere Spalten pro Zeile zurückgeben kann.

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

/* 获取第一列所有值 */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

Die Ausgabe des obigen Beispiels ist:

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

Gemäß einer gesonderten Gruppierung alle Werte

Das folgende Beispiel zeigt, wie ein assoziatives Array zentralisiert angegebenen Spalte Wert auf die Ergebnisse des Pakets auf Basis zurückzukehren. Das Array enthält drei Tasten: Apfel und Birne zurückgegebene Array enthält zwei verschiedene Farben, während Wassermelone zurückgegebene Array nur eine Farbe enthält.

<?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));
?>

Die Ausgabe des obigen Beispiels ist:

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"
  }
}

Jede Zeile in der Folge eine Klasse instanziiert

Liezi zeigt unter PDO :: FETCH_CLASS Stil Verhalten Ruft.

<?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);
?>

Die Ausgabe des obigen Beispiels ist:

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"
  }
}

Jede Zeile ruft eine Funktion

Liezi zeigt unter PDO :: FETCH_FUNC Stil Verhalten Ruft.

<?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);
?>

Die Ausgabe des obigen Beispiels ist:

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

PHP PDO-Referenzhandbuch PHP PDO - Referenzhandbuch