Um Tabellendaten einer bestimmten Datenbank abzufragen, werden die nachfolgenden PDO-Befehle verwendet.
| PDO | Erstellung einer neuen Datenbankverbindung und Auswahl der Datenbank im Verbindungs-DSN |
|---|---|
| PDO::query() | Senden einer SQL-Anweisung über die aktive PDO-Datenbankverbindung |
| PDO::exec() | Ausführen einer SQL-Anweisung ohne Rückgabewerte. |
Nachdem eine erfolgreiche Verbindung zum MySQL-Server hergestellt wurde, erfolgt die Auswahl der Datenbank direkt im Data Source Name (DSN). Eine Abfrage von Tabellendaten und deren Werten realisieren Sie über den Befehl PDO::query().
$dsn = 'mysql:host=server;dbname=Datenbankname;charset=utf8'; //dsn ... data source name $pdo = new PDO($dsn, 'Benutzername', 'Passwort');
Die Auswahl der zu verwendenden Datenbank erfolgt bereits in der $dsn-Zeichenkette durch Angabe des Datenbanknamens.
Der Rückgabewert von new PDO() ist ein PDO-Objekt, das für weitere SQL-Abfragen verwendet werden kann. Bei einem Fehler wird eine PDOException geworfen.
$stmt = $pdo->query('SQL-Abfrage');
Eine SQL-Abfrage wird über den Befehl PDO::query() ausgeführt.
Wenn die SQL-Anweisung erfolgreich ist, gibt query() ein PDOStatement-Objekt zurück, mit dem Sie auf die abgerufenen Daten zugreifen können.
Wenn ein Fehler auftritt, wird eine PDOException ausgelöst, wenn der Fehlermodus auf Exception gesetzt wurde.
$ergebnis = $pdo->exec('SQL-Anweisung');
Verwenden Sie exec(), um SQL-Anweisungen auszuführen, die keine Ergebnisse zurückgeben (z.B. INSERT, UPDATE, DELETE). exec() gibt die Anzahl der betroffenen Zeilen zurück oder false, wenn ein Fehler auftritt.
<?php $server = "localhost"; $user = "root"; $passwort = ""; $database = "appelmann"; $table = "bestellung"; try { // Verbindung zur Datenbank herstellen echo "<br>Nehme Verbindung zur Datenbank <b>$database</b> auf..."; $dsn = "mysql:host=$server;dbname=$database;charset=utf8"; $pdo = new PDO($dsn, $user, $passwort); // Fehlerbehandlung auf Exception setzen $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "<br>Verbindung zu Server <b>$server</b> hergestellt."; // SQL-Abfrage ausführen $sql = "SELECT * FROM $table"; $stmt = $pdo->query($sql); if ($stmt) { echo "<br>SQL-Anweisung erfolgreich..."; } } catch (PDOException $e) { // Fehlerbehandlung echo "<br>Konnte Verbindung nicht herstellen oder SQL-Anweisung ausführen: " . $e->getMessage(); } // Verbindung schließen $pdo = null; echo "<br>Verbindung zu Server <b>$server</b> beendet."; ?>