PDOStatement :: holen
PDOStatement :: holen - Fokus auf Ergebnisse aus der nächsten Zeile erhalten (PHP 5> = 5.1.0, PECL gU> = 0.1.0)
Erklärung
Grammatik
mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
Von einem PDOStatement-Objekt zugeordnet Ergebnismenge wird die nächste Zeile. fetch_style POD-Parameter bestimmt, wie die Zeilen zurückgegeben werden.
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).
PDO :: FETCH_ASSOC: Gibt ein Array indiziert Spaltennamen der Ergebnismenge
PDO :: FETCH_BOTH (Standard): Gibt ein Indexfeld Ergebnismenge Spaltennamen beginnend mit 0 und Spaltennummer
PDO :: FETCH_BOUND: liefert
TRUE
, PHP - Variablen und Werte zuweisen die Spalten in der Ergebnismenge PDOStatement :: bindColumn () -Methode zu binden.PDO :: FETCH_CLASS: eine Anforderung , eine neue Instanz der Klasse, die Spaltennamen in der Folge auf den Klassennamen der entsprechenden Eigenschaft zurückzukehren. Wenn
fetch_style
enthält PDO :: FETCH_CLASSTYPE (zum Beispiel: PDO :: FETCH_CLASS | PDO :: FETCH_CLASSTYPE ), wird der Klassenname durch den Wert der ersten Spalte bestimmtPDO :: FETCH_INTO: Aktualisieren Sie eine vorhandene Anfrage Klasseninstanz zu Spalten in der Ergebnismenge Klasse mit dem Namen Eigenschaft zugeordnet
PDO :: FETCH_LAZY: in Verbindung mit PDO :: FETCH_BOTH und PDO :: FETCH_OBJ, für die Erstellung eines Objekts Variablennamen für den Zugriff
PDO :: FETCH_NUM: eine Rückkehr zur Null-indizierte Spalte Anzahl der Ergebnismenge Array
PDO :: FETCH_OBJ: Gibt einen Eigenschaftsnamen auf die Ergebnismenge Spaltennamen anonymen Objekten entsprechen
cursor_orientation
Für ein PDOStatement Objekt eine scrollbare Cursor darstellt, bestimmt dieser Wert die Zeile an den Aufrufer zurückgegeben wird. Dieser Wert muss PDO :: FETCH_ORI_ * Konstanten in einer Reihe, ist die Standard-PDO :: FETCH_ORI_NEXT. PDOStatement Objekt mit scrollbaren Cursor zu erhalten, müssen Sie verwenden, wenn PDO :: prepare () Anweisungen Vorbehandlung SQL, stellen Sie die PDO :: ATTR_CURSOR Attribut PDO :: CURSOR_SCROLL.
ausgleichen
Für ein cursor_orientation Parameter PDO gesetzt :: PDOStatement Objekt eine scrollbare Cursor FETCH_ORI_ABS darstellt, gibt dieser Wert das Ergebnis stellen Sie die absolute Zeilennummer Zeile erhalten möchten.
Für ein cursor_orientation Parameter PDO :: FETCH_ORI_REL die PDOStatement Objekt repräsentiert eine scrollbare Cursor gesetzt ist, gibt dieser Wert den Anruf PDOStatement :: fetch () vor der Cursorposition in Bezug auf die Linie wollen Sie bekommen
Rückgabewert
Zurück, wenn diese Funktion (Methode) Wert hängt von der erfolgreichen Extraktionstyp. In allen Fällen gibt Ausfall FALSCH.
Beispiele
Holen Reihe mit unterschiedlichen Extraktionsmethoden
<?php $sth = $dbh->prepare("SELECT name, colour FROM fruit"); $sth->execute(); /* 运用 PDOStatement::fetch 风格 */ print("PDO::FETCH_ASSOC: "); print("Return next row as an array indexed by column name\n"); $result = $sth->fetch(PDO::FETCH_ASSOC); print_r($result); print("\n"); print("PDO::FETCH_BOTH: "); print("Return next row as an array indexed by both column name and number\n"); $result = $sth->fetch(PDO::FETCH_BOTH); print_r($result); print("\n"); print("PDO::FETCH_LAZY: "); print("Return next row as an anonymous object with column names as properties\n"); $result = $sth->fetch(PDO::FETCH_LAZY); print_r($result); print("\n"); print("PDO::FETCH_OBJ: "); print("Return next row as an anonymous object with column names as properties\n"); $result = $sth->fetch(PDO::FETCH_OBJ); print $result->NAME; print("\n"); ?>
Die obigen Beispiele folgende Ausgabe:
PDO::FETCH_ASSOC: Return next row as an array indexed by column name Array ( [NAME] => apple [COLOUR] => red ) PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number Array ( [NAME] => banana [0] => banana [COLOUR] => yellow [1] => yellow ) PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties PDORow Object ( [NAME] => orange [COLOUR] => orange ) PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties kiwi
Verwenden Sie ein verschiebbarer Cursor holen Reihen
<?php function readDataForwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } function readDataBackwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST); do { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } print "Reading forwards:\n"; readDataForwards($conn); print "Reading backwards:\n"; readDataBackwards($conn); ?>
Die obigen Beispiele folgende Ausgabe:
Reading forwards: 21 10 5 16 0 5 19 20 10 Reading backwards: 19 20 10 16 0 5 21 10 5