PHP 5.4 & MySQL 5.6 Grundkurs

Prepared Statements

Testen Sie unsere 1958 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Prepared Statements sind eine alternative Möglichkeit, um MySQL-Anweisungen an den Datenbankserver zu senden. Sehen Sie in diesem Video anhand eines praktischen Beispiels, welche Vorteile diese Anweisungsart bietet.

Transkript

Prepared Statements sind eine alternative Art, MySQL-Anweisungen an den Datenbank-Server zu senden. Und diese hat mehrere Vorteile. SQL-Injections werden verhindert, da die Gültigkeit der Parameter vom Datenbanksystem vor der Verarbeitung überprüft wird. Und zum anderen ist bei Prepared Statements die Abfragestruktur von den Parametern getrennt. Schauen wir uns einmal an, wie Prepared Statements funktionieren. Ich habe hier ein kleines Beispiel für eine Abfrage. Die Verbindungsdaten sind ausgelagert. Und es wird hier ein Fehler ausgegeben, falls es ein Problem gibt. Jetzt gibt es hier drei Variablen, die Inhalte definieren, die ich dann nachher in meine Tabelle schreiben möchte. Entscheidend ist die Methode prepare. Diese rufen Sie bei einem MySQLi-Objekt auf und erhalten dann ein MySQListmt-Objekt zurück. Das passiert hier in dieser Zeile. Diesem prepare übergeben Sie die vorbereitete MySQL-Anweisung. Sie sieht eigentlich aus, wie eine gewöhnlichen SQL-Anweisung. Enthält aber Fragezeichen als Platzhalter, hier. Das ist das Entscheidende. Über die Methode bind_param hier werden jetzt die Parameter mit php-Variablen verbunden. Also, das hier sind meine php-Variablen. Und hier findet diese Verbindung statt. Zuerst enthält dieses bind_param einen Formatierungs-String. Im Beispiel bedeutet SSD, dass es drei Parameter gibt. Wobei die ersten beiden Strings sind und der dritte eine Fließkomma-Zahl. Mit EXECUTE in der folgenden Zeile wird dann der MySQL-Befehl auch wirklich ausgeführt. Anschließend ermittle ich hier mit affected_rows, wie viele Datensätze geändert wurden. Und mit dem CLOSE hier wird dieses STMT-Objekt wieder frei gegeben. Schauen wir uns einmal das Ergebnis dieser Anweisung an. Sie sehen hier die Meldung. Es hat geklappt und es wurde ein Datensatz geändert. Das Entscheidende an diesen vorbereiteten Anweisungen ist hier, dass an der Stelle nur Platzhalter übergeben werden, dass Sie hier dann sagen, was die beinhalten. Ob es eben Strings sind, oder Zahlen, beispielsweise. Und dann erst wird das Ganze ausgeführt. Das war jetzt hier ein Beispiel für ein INSERT, was darüber realisiert wird. Also, es wird etwas eingetragen in die Tabelle. Sie können natürlich die vorbereiteten Anweisungen genau so bei einem SELECT benutzen. Ein SELECT funktioniert im Prinzip ganz ähnlich. Hier habe ich einmal ein Beispiel vorbereitet. Zuerst wird hier eine Anweisung mit der Prepare-Methode vorbereitet. Per bind_param werden die Parameter gebunden. Im Beispiel wird ein SELECT mit Like benutzt. Sie sehen hier dieses LIKE. Und diese Platzhalter hier, die Sie beim LIKE benutzen können, stehen hier direkt bei der Variable. Entscheidend ist diese Zeile. Hier werden die Spalten des Ergebnisses an Variablen gebunden. Im Beispiel sind es drei Spalten. Also Name, Beschreibung und Preis. Und entsprechend auch drei Variablen. Dann kann man mit FETCH, was hier angewendet wird, die Ergebnisse in einer WHILE-Schleife durchlaufen. Schauen wir auch dieses Ergebnis einmal an. Dann sehen Sie, das ist das Ergebnis meiner Abfrage. Für alles gut vorbereitet, das sind Sie mit den Prepared Statements. Um sie zu benutzen, müssen Sie zuerst mit Prepare die Anweisung vorbereiten. Mit bind_param verbinden Sie den Formatierungs-String mit den Parametern. Und mit EXECUTE führen Sie dann den Befehl aus.

PHP 5.4 & MySQL 5.6 Grundkurs

Steigen Sie auch ohne Vorwissen in die Programmierung PHP- & MySQL-basierter Webseiten ein und lernen Sie die Sprachgrundlagen wie Bedingungen, Schleifen, Funktionen usw. kennen.

7 Std. 9 min (86 Videos)
Super Tutorial, aber...
Bastian F.

laut PHP-Manual sind viele der mysqli-Funktionen veraltet und seit PHP 5.4.0 entfernt worden. Das sollte noch angepasst werden. Mfg

 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!