0Pricing
PHP Academy · Lektion

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!

Vorbereitete Anweisungen — Illustration 1

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:

  1. Schreiben Sie die SQL-Abfrage mit Platzhaltern.
  2. Bereiten Sie die Abfrage über die Datenbankverbindung vor.
  3. Weisen Sie den Platzhaltern Werte zu.
  4. 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!

Vorbereitete Anweisungen — Illustration 10

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

  1. Einführung in Datenbanken
  2. Verbindung zu einer MySQL-Datenbank herstellen
  3. Tabellen verwalten
  4. CRUD-Operationen ausführen
  5. Vorbereitete Anweisungen
  6. Arbeiten mit PDO
← Zurück zu PHP Academy