PHP-Einfach.de
  • PHP Tutorial
  • MySQL Tutorial
  • Für Fortgeschrittene
  • Webhosting
  • Jobs
  • Forum

Crashkurs PDO

20. April 2018
  1. Home
  2. »
  3. MySQL Tutorial
  4. »
  5. Crashkurs PDO

Eine ausführliche Einführung in MySQL und PHP Data Objects (PDO) findet ihr in unserem MySQL Tutorial. Dies ist nur eine kurze Übersicht der wichtigen Funktionen von PDO.

 

Inhaltsverzeichnis

  • 1 Verbindung aufbauen
  • 2 SQL Query an Datenbank senden
  • 3 Prepared Statements
  • 4 Anzahl der Zeilen
  • 5 Eingefügte ID
  • 6 MySQL Fehlermeldung

Verbindung aufbauen

Verbindung zur MySQL-Datenbank mittels PDO:

1
2
3
<?php
$pdo = new PDO('mysql:host=localhost;dbname=databasename', 'username', 'password');
?>

Ausführliche Informationen

SQL Query an Datenbank senden

Simple Datenabfragen können mittels $pdo->query($sql) an die Datenbank gesendet werden.

1
2
3
4
5
6
7
8
9
10
<?php
$pdo = new PDO('mysql:host=localhost;dbname=databasename', 'username', 'password');
$sql = "SELECT * FROM users";
foreach ($pdo->query($sql) as $row) {
   echo $row['email']."<br />";
   echo $row['vorname']."<br />";
   echo $row['nachname']."<br /><br />";
}
?>

Ausführliche Informationen

Prepared Statements

Prepared Statement mit anonymen Parametern:

1
2
3
4
5
6
7
8
9
10
<?php
$pdo = new PDO('mysql:host=localhost;dbname=databasename', 'username', 'password');
$statement = $pdo->prepare("SELECT * FROM users WHERE vorname = ? AND nachname = ?");
$statement->execute(array('Max', 'Mustermann'));  
while($row = $statement->fetch()) {
   echo $row['vorname']." ".$row['nachname']."<br />";
   echo "E-Mail: ".$row['email']."<br /><br />";
}
?>

Prepared Statement mit benannten Parametern:

1
2
3
4
5
6
7
8
9
10
<?php
$pdo = new PDO('mysql:host=localhost;dbname=databasename', 'username', 'password');
$statement = $pdo->prepare("SELECT * FROM users WHERE vorname = :vorname AND nachname = :nachname");
$statement->execute(array(':vorname' => 'Max', ':nachname' => 'Mustermann'));  
while($row = $statement->fetch()) {
   echo $row['vorname']." ".$row['nachname']."<br />";
   echo "E-Mail: ".$row['email']."<br /><br />";
}
?>

Ausführliche Informationen

Anzahl der Zeilen

Die Anzahl der betroffenen Zeilen können mittels der Methode rowCount() ermittelt werden:

1
2
3
4
5
6
7
8
<?php
$pdo = new PDO('mysql:host=localhost;dbname=databasename', 'username', 'password');
  
$statement = $pdo->prepare("SELECT * FROM users WHERE vorname = ?");
$statement->execute(array('Max'));
$anzahl_user = $statement->rowCount();
echo "Es wurden $anzahl_user gefunden";
?>

Ausführliche Informationen

Eingefügte ID

Die vergebene ID einer Auto Increment-Spalte kann mittels der Methode lastInsertId() abgerufen werden.

1
2
3
4
5
6
7
8
9
<?php
$pdo = new PDO('mysql:host=localhost;dbname=databasename', 'username', 'password');
$statement = $pdo->prepare("INSERT INTO users (email, vorname, nachname) VALUES (?, ?, ?)");
$statement->execute(array('[email protected]', 'Klaus', 'Neumann'));  
$neue_id = $pdo->lastInsertId();
echo "Neuer Nutzer mit id $neue_id angelegt";
?>

Ausführliche Informationen

MySQL Fehlermeldung

Zum Abrufen der MySQL Fehlermeldung existiert die Methode errorInfo().

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$statement = $pdo->prepare("SELECT email, password FROM users");
if($statement->execute()) {
    while($row = $statement->fetch()) {
        echo $row['email']."<br />";
    }    
} else {
    echo "SQL Error <br />";
    echo $statement->queryString."<br />";
    echo $statement->errorInfo()[2];
}
?>

Ausführliche Informationen

Autor: Nils Reimers
Zurück: Crashkurs MySQLi

MySQL Tutorial

  • MySQL installieren und starten
  • phpMyAdmin
  • Verbindung aufbauen
  • Simple Datenabfrage
  • Komplexere Datenabfrage
  • Prepared Statements
  • Daten einfügen
  • Daten aktualisieren
  • Daten löschen
  • Gefundene Einträge zählen
  • DATE-Datenbankspalten
  • Datum- und Zeitfunktionen
  • MySQL Fehlermeldungen
  • Datenbankverbindung schließen
  • JOIN
  • Indizes
  • Normalformen
  • Fremdschlüssel
  • Übersicht SQL-Befehle
  • Crashkurs MySQL
  • Crashkurs MySQLi
  • Crashkurs PDO
Mit freundlicher Unterstützung von:
  • Wärmepumpentrockner.de
  • Waeschetrockner.net
  • Neueonline-Casinos.com
  • Casinopilot24.com
  • Casinorella.com

Hoster – Geringste Ausfallzeit

  1. webgo Ø 3 Min.
  2. checkdomain Ø 14 Min.
  3. Linevast Ø 16 Min.
  4. Alfahosting Ø 20 Min.
  5. All-Inkl.com Ø 31 Min.
  6. DomainFactory Ø 32 Min.
  7. Mittwald Ø 35 Min.
  8. dogado Ø 36 Min.
  9. Host Europe Ø 57 Min.
  10. Strato Ø 58 Min.
» Mehr erfahren

Impressum | Datenschutz | Auf PHP-Einfach.de werben

© PHP-Einfach.de 2003 - 2019

Um dich beim Lernen von PHP und MySQL zu unterstützen verwenden wir Cookies. OK Weitere Infos