Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ergebnis-datensaetze_holen [2015/03/06 11:59] webproducer angelegt |
ergebnis-datensaetze_holen [2016/06/23 00:00] (aktuell) |
||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
**Fetch-Methoden** | **Fetch-Methoden** | ||
- | * $row = $res->fetch( Fetch_Modi ); // den nächsten Datensatz als Objekt zurückgeben | + | * $row = $res->fetch( Fetch_Modi ) = den nächsten Datensatz als Objekt zurückgeben |
- | * $row = $res->fetchObject( Fetch_Modi, class_name ); übernimmt den nächsten Datensatz als Objekt | + | * $row = $res->fetchObject( Fetch_Modi, class_name ) = übernimmt den nächsten Datensatz als Objekt |
- | * $rows = $res->fetchAll( Fetch_Modi ); // alle Datensätze zurückgeben | + | * $rows = $res->fetchAll( Fetch_Modi ) = alle Datensätze zurückgeben |
---- | ---- | ||
Zeile 15: | Zeile 15: | ||
* PDO::FETCH_ASSOC = Datensätze als assoziatives Arrays im nummeriertem Array zurückgeben | * PDO::FETCH_ASSOC = Datensätze als assoziatives Arrays im nummeriertem Array zurückgeben | ||
* PDO::FETCH_COLUMN = Datensätze als eindimensionales, nummeriertes Array zurückgeben | * PDO::FETCH_COLUMN = Datensätze als eindimensionales, nummeriertes Array zurückgeben | ||
+ | * PDO::FETCH_INTO = Datensatz wird in die angegebene Klasse zurückgegeben | ||
+ | |||
+ | ---- | ||
+ | |||
+ | //Beispiel 1:// | ||
+ | |||
+ | Dieses Beispiel speichert alle Werte der Spalten der Tabelle "users" als Objekte in einem numerischen Array in der Variable "$users": | ||
+ | |||
+ | <code php> | ||
+ | $SQL = "SELECT * FROM users;"; | ||
+ | $PDO = $this->DB->query( $SQL ); | ||
+ | $users = $PDO->fetchAll( PDO::FETCH_OBJ ); | ||
+ | </code> | ||
+ | |||
+ | //Beispiel 2:// | ||
+ | |||
+ | Dieses Beispiel wird innerhalb einer Klasse definiert und speichert alle Werte der Spalten der Tabelle "users" in das aktuelle Objekt. Für die Angabe der Klasse (in diesem Fall $this, da es die eigene Klasse ist) muss die Funktion "setFetchMode" aufgerufen werden, da "fetch" nur einen Übergabeparameter unterstützt. | ||
+ | |||
+ | <code php> | ||
+ | $SQL = 'SELECT Vorname, Nachname, Strasse, Ort FROM users WHERE id =:id'; | ||
+ | $PDO = $this->DB->prepare( $SQL ); | ||
+ | $PDO->bindParam( ':id', $id, PDO::PARAM_INT ); | ||
+ | $PDO->setFetchMode( PDO::FETCH_INTO, $this ); | ||
+ | $PDO->execute(); | ||
+ | $PDO->fetch( PDO::FETCH_INTO, $this ); | ||
+ | |||
+ | if( $PDO->rowCount() == 1 ) | ||
+ | { | ||
+ | echo $this->Nachname; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ |