Vorbereitete Anweisungen
Sichern Sie Ihre Datenbankabfragen mit vorbereiteten Anweisungen
Vorbereitete Anweisungen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 5 von 6. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 6 Lektionen.
Übersicht zu Prepared Statements
Prepared Statements
Willkommen zur nächsten Lektion! In dieser Lektion lernen Sie Prepared Statements kennen und erfahren, wie sie Ihre Interaktionen mit der Datenbank sicher und effizient machen. Legen wir los!

Was sind Prepared Statements?
Was sind Prepared Statements?
Prepared Statements sind eine Funktion von Datenbankverwaltungssystemen, mit der Sie SQL-Abfragen sicher und effizient ausführen können. Sie trennen SQL-Code von Daten und verhindern dadurch SQL-Injection-Angriffe.
Beispiel: Verwenden Sie Platzhalter (:name, :email), anstatt Benutzereingaben direkt in die Abfrage einzufügen.
Warum sollten Sie Prepared Statements verwenden?
Warum sollten Sie Prepared Statements verwenden?
Prepared Statements bieten mehrere Vorteile:
- Sicherheit: Verhindern Sie SQL-Injection, indem Sie Benutzereingaben maskieren.
- Effizienz: Verwenden Sie dieselbe Anweisung mit unterschiedlichen Daten erneut und verkürzen Sie dadurch die Zeit für die Abfrageanalyse.
- Wartbarkeit: Ihr Code wird leichter lesbar und einfacher zu debuggen.
Wichtiger Punkt: Verwenden Sie immer Prepared Statements, wenn Sie mit von Benutzern bereitgestellten Daten arbeiten.
Prepared Statement erstellen
Prepared Statement erstellen
Gehen Sie zum Erstellen eines Prepared Statements folgendermaßen vor:
- Schreiben Sie die SQL-Abfrage mit Platzhaltern.
- Bereiten Sie die Abfrage über die Datenbankverbindung vor.
- Weisen Sie den Platzhaltern Werte zu.
- Führen Sie die Anweisung aus.
Beispiel:
Tipp: Verwenden Sie assoziative Arrays, um Werte einfach zuzuweisen.
<?php
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $pdo->prepare($sql);
$stmt->execute(["name" => "Alice", "email" => "alice@mail.com"]);
?>Werte zuweisen
Werte zuweisen
Verwenden Sie die Methoden bindParam() oder bindValue(), um Platzhaltern Werte zuzuweisen. Beispiel:
<?php
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(":name", $name);
$stmt->bindParam(":email", $email);
$name = "Bob";
$email = "bob@mail.com";
$stmt->execute();
?>
Prepared Statements für SELECT-Abfragen verwenden
Prepared Statements für SELECT-Abfragen verwenden
Prepared Statements funktionieren mit allen Arten von SQL-Abfragen, einschließlich SELECT. Beispiel:
Tipp: Verwenden Sie fetchAll(), um mehrere Zeilen abzurufen.
<?php
$sql = "SELECT * FROM users WHERE name = :name";
$stmt = $pdo->prepare($sql);
$stmt->execute(["name" => "Alice"]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
echo "Name: " . $result["name"] . ", Email: " . $result["email"];
?>
Prepared Statements erneut verwenden
Prepared Statements erneut verwenden
Prepared Statements können mit unterschiedlichen Werten erneut verwendet werden, was die Effizienz verbessert. Beispiel:
<?php
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$users = [
["name" => "Charlie", "email" => "charlie@mail.com"],
["name" => "Dave", "email" => "dave@mail.com"]
];
foreach ($users as $user) {
$stmt->execute($user);
}
echo "Multiple records inserted successfully!";
?>
SQL-Injection verhindern
SQL-Injection verhindern
Prepared Statements maskieren Sonderzeichen in Benutzereingaben und verhindern dadurch SQL-Injection-Angriffe. Beispiel:
<?php
$sql = "SELECT * FROM users WHERE email = :email";
$stmt = $pdo->prepare($sql);
$stmt->execute(["email" => "' OR 1=1; --"]);
$result = $stmt->fetch();
if ($result) {
echo "User found.";
} else {
echo "No user found.";
}
?>
Sehr gut!
Sehr gut!
Herzlichen Glückwunsch! Sie haben gelernt, wie Sie Prepared Statements in PHP verwenden, um Ihre Interaktionen mit der Datenbank abzusichern. In der nächsten Lektion beschäftigen wir uns mit fortgeschrittenen Abfragetechniken mit JOINs und Aggregationen. Programmieren wir weiter!

Häufig gestellte Fragen
Ist die Lektion „Vorbereitete Anweisungen“ kostenlos?
Ja — der vollständige Text von „Vorbereitete Anweisungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 6 Lektionen.
Was lerne ich in „Vorbereitete Anweisungen“?
Sichern Sie Ihre Datenbankabfragen mit vorbereiteten Anweisungen Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 5 von 6.
Wie lange dauert die Lektion „Vorbereitete Anweisungen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Einführung in Datenbanken
- Verbindung zu einer MySQL-Datenbank herstellen
- Tabellen verwalten
- CRUD-Operationen ausführen
- Vorbereitete Anweisungen
- Arbeiten mit PDO