===== Ergebnis-Datensätze holen ===== **Fetch-Methoden** * $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 * $rows = $res->fetchAll( Fetch_Modi ) = alle Datensätze zurückgeben ---- **Fetch-Modi** * PDO::FETCH_BOTH = Datensätze als numerisches **und** assoziatives Array zurückgeben * PDO::FETCH_OBJ = Datensätze als numerisches Array mit Objekten 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_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": $SQL = "SELECT * FROM users;"; $PDO = $this->DB->query( $SQL ); $users = $PDO->fetchAll( PDO::FETCH_OBJ ); //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. $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; }