Mit PDO sprichst du Datenbanken an. Nutze immer vorbereitete Anweisungen (prepare + execute mit Platzhaltern), niemals Nutzereingaben direkt in SQL einfügen — das verhindert SQL-Injection. Passwörter speicherst du mit password_hash und prüfst sie mit password_verify.
Fehler behandelst du mit try/catch und Exceptions.
<?php
$pdo = new PDO('sqlite::memory:');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('CREATE TABLE nutzer (name TEXT)');
$stmt = $pdo->prepare('INSERT INTO nutzer (name) VALUES (:name)');
$stmt->execute(['name' => "Mia'; DROP TABLE nutzer; --"]); // harmlos
$hash = password_hash('geheim123', PASSWORD_DEFAULT);
var_dump(password_verify('geheim123', $hash)); // trueMerke
Vorbereitete Anweisungen verhindern SQL-Injection
password_hashundpassword_verifyfür PasswörterPDO mit Exceptions betreiben
Aufgabe
Lege eine Tabelle an, füge per prepare Daten ein und lies sie wieder aus.