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> | ||
| + | |||
| + | |||