PHP Datenbankverbindung PDOKurze Einführung mit Grundfunktionen zu PHP Data Object
https://www.php-einfach.de/mysql-tutorial/verbindung-aufbauen/
PDO Verbindung aufbauen
Für einen einheitlichen Einsatz des Zeichensatzes empfiehlt es sich, jede Form von Text im UTF8 Format vorzuhalten. Sowohl im fertigen HTML, als auch in der Datenbank. Deshalb hier das angefügte Charset in der Datenbankverbindung.
$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'username', 'password');
Datenbank Abfrage
$sql_query = "SELECT * from users";
$result = $pdo->query($sql_query)->fetch(PDO::FETCH_ASSOC);
print_r($result);
Prepared Statements
Um SQL-Injections zu verhindern empfiehlt sich der Einsatz von prepared statements . Sobald ihr irgendwelche Daten vom Benutzer an die Datenbank übergebt, sollte ihr stets auf prepared Statements zurückgreifen.
$statement = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$statement->execute(array($id));
Benannte Statements
Hier wird jede Variable vorher definiert und dann mit der PHP Variable gefüllt.
$statement = $pdo->prepare("SELECT * FROM users WHERE vorname = :vorname OR nachname = :nachname OR email = :email");
$statement->execute(array('vorname' => $vorname, 'nachname' => $nachname, 'email' => $email));
INSERT INTO
Hier wird jede Variable vorher definiert und dann mit der PHP Variable gefüllt.
$statement = $pdo->prepare("INSERT INTO tabelle (spalte1, spalte2, splate3) VALUES (?, ?, ?)");
$statement->execute(array('wert1', 'wert2', 'wert3'));
Letzte eingefügte ID anzeigen
echo $pdo->lastInsertId();
UPDATE Entry
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$statement = $pdo->prepare("UPDATE users SET email = :email_neu WHERE id = :id");
$statement->execute(array('id' => 1, 'email_neu' => 'neu@php-einfach.de'));
DELETE Entry
$statement = $pdo->prepare("DELETE FROM users WHERE id = ?");
$statement->execute(array(1)); //Löscht Benutzer mit ID 1