PDOStatement::fetch – Holen Sie sich die nächste Zeile aus der Ergebnismenge (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
gemischt PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
Ruft die nächste Zeile aus der Ergebnismenge ab, die einem PDOStatement-Objekt zugeordnet ist. Der Parameter fetch_style bestimmt, wie der POD Zeilen zurückgibt.
fetch_style
Steuert, wie die nächste Zeile an den Anrufer zurückgegeben wird. Dieser Wert muss eine der Konstantenreihen PDO::FETCH_* sein und der Standardwert ist der Wert von PDO::ATTR_DEFAULT_FETCH_MODE (der Standardwert ist PDO::FETCH_BOTH).
PDO::FETCH_ASSOC : Gibt ein Array zurück, das durch den Spaltennamen der Ergebnismenge indiziert ist
PDO::FETCH_BOTH (Standard): Gibt ein Array zurück, das durch den Spaltennamen der Ergebnismenge und die Spaltennummer beginnend mit 0 indiziert ist
PDO::FETCH_BOUND : Gibt TRUE
zurück und weist den Spaltenwert im Ergebnissatz der PHP-Variablen zu, die durch die Methode PDOStatement::bindColumn() gebunden wird.
PDO::FETCH_CLASS : Gibt eine neue Instanz der angeforderten Klasse zurück und ordnet die Spaltennamen im Ergebnissatz den entsprechenden Attributnamen in der Klasse zu. Wenn fetch_style
PDO::FETCH_CLASSTYPE enthält (zum Beispiel: PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE ), wird der Klassenname durch den Wert der ersten Spalte bestimmt
PDO::FETCH_INTO : Aktualisiert eine vorhandene Instanz der angeforderten Klasse und ordnet Spalten im Ergebnissatz den in der Klasse benannten Attributen zu
PDO::FETCH_LAZY : Verwenden Sie PDO::FETCH_BOTH in Verbindung mit PDO::FETCH_OBJ, um einen Objektvariablennamen für den Zugriff zu erstellen
PDO::FETCH_NUM : Gibt ein Array zurück, das auf die Spaltennummer des Ergebnissatzes indiziert ist, beginnend mit 0
PDO::FETCH_OBJ : Gibt ein anonymes Objekt zurück, dessen Attributname dem Spaltennamen der Ergebnismenge entspricht
Cursor_orientation Für einen scrollbaren Cursor, der durch ein PDOStatement-Objekt dargestellt wird, bestimmt dieser Wert, welche Zeile an den Aufrufer zurückgegeben wird. Dieser Wert muss eine der Konstantenserien PDO::FETCH_ORI_* sein und der Standardwert ist PDO::FETCH_ORI_NEXT. Damit das PDOStatement-Objekt einen scrollbaren Cursor verwendet, müssen Sie das Attribut PDO::ATTR_CURSOR auf PDO::CURSOR_SCROLL setzen, wenn Sie PDO::prepare() zum Vorbereiten der SQL-Anweisung verwenden.
offsetFür einen scrollbaren Cursor, der durch ein PDOStatement-Objekt dargestellt wird, dessen Cursor_orientation-Parameter auf PDO::FETCH_ORI_ABS gesetzt ist, gibt dieser Wert die absolute Zeilennummer der Zeile im Ergebnissatz an, die abgerufen werden soll. Für einen scrollbaren Cursor, der durch ein PDOStatement-Objekt dargestellt wird und dessen Cursor_orientation-Parameter auf PDO::FETCH_ORI_REL gesetzt ist, gibt dieser Wert die Position der abzurufenden Zeile relativ zum Cursor an, bevor PDOStatement::fetch() aufgerufen wird.
Der von dieser Funktion (Methode) bei Erfolg zurückgegebene Wert hängt vom Extraktionstyp ab. In allen Fällen gibt ein Fehler FALSE zurück.
<?php$sth = $dbh->prepare("SELECT name, color FROM Fruit");$sth->execute();/* Use PDOStatement::fetch style*/print("PDO::FETCH_ASSOC: ") ;print("Nächste Zeile als durch Spaltennamen indiziertes Array zurückgebenn");$result = $sth->fetch(PDO::FETCH_ASSOC);print_r($result);print("n");print("PDO::FETCH_BOTH: ");print("Gibt die nächste Zeile als durch beide Spalten indiziertes Array zurück Name und Nummern");$result = $sth->fetch(PDO::FETCH_BOTH);print_r($result);print("n");print("PDO::FETCH_LAZY: ");print("Nächste Zeile als anonymes Objekt mit Spaltennamen zurückgeben als Eigenschaftenn");$result = $sth->fetch(PDO::FETCH_LAZY);print_r($result);print("n");print("PDO::FETCH_OBJ: ");print("Nächste Zeile als anonymes Objekt mit Spaltennamen zurückgeben as Propertiesn");$result = $sth->fetch(PDO::FETCH_OBJ);print $result->NAME;print("n");?>
Das obige Beispiel gibt Folgendes aus:
PDO::FETCH_ASSOC: Gibt die nächste Zeile als Array zurück, das durch den SpaltennamenArray( [NAME] => apple [COLOUR] => red) indiziert ist. PDO::FETCH_BOTH: Gibt die nächste Zeile als durch den Spaltennamen und die Spaltennummer indiziertes Array zurückArray( [NAME ] => banane [0] => banane [FARBE] => gelb [1] => gelb)PDO::FETCH_LAZY: Nächste Zeile als anonymes Objekt mit zurückgeben Spaltennamen als EigenschaftenPDORow Object( [NAME] => orange [COLOUR] => orange)PDO::FETCH_OBJ: Nächste Zeile als anonymes Objekt mit Spaltennamen als Eigenschaften zurückgebenkiwi
<?phpfunction 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_ORI_NEXT)) { $data = $row[0] . 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_ORI_LAST); do { $data = $row[0] . "n"; print $data; } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); :n";readDataBackwards($conn);?>
Das obige Beispiel gibt Folgendes aus:
Vorwärts lesen: 21 10 516 0 519 20 10 Rückwärts lesen: 19 20 1016 0 521 10 5