Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

PHP 5.4 & MySQL 5.6 Grundkurs

MySQLi verwenden

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
MySQLi ist die verbesserte MySQL-Schnittstelle für PHP. Lernen Sie in diesem Video, wie Sie mit PHP eine Verbindung zu MySQLi herstellen, danach eine einfache Abfrage durchführen und sich anschließend das Ergebnis als Tabelle ausgeben lassen.

Transkript

Auf die Datenbank, fertig los. PHP stellt verschiedene Schnittstellen zur Arbeit mit MySQL-Datenbanken zur Verfügung. Wir setzen hier MySQLi ein. Vier Schritte sind notwendig, um mit PHP das Ergebnis einer Abfrage ausgeben zu lassen. Die Schnittstelle, die wir hier benutzen wollen, heißt MySQLi. Das i steht für improved, also verbessert. Bei der Arbeit mit MySQLi, genauso auch, wenn Sie mit einer anderen Schnittstelle arbeiten würden, müssen Sie immer mehrere Schritte durchführen, um sich Ergebnisse ausgeben zu lassen. Sehen wir uns das einmal an. Wichtig ist natürlich, damit wir das dann auch machen können, dass wir erstmal eine Datenbank haben. Und das wir in der Datenbank auch eine Tabelle haben. Dann können Sie ein neues MySQLi-Objekt erstellen. Das mache ich an dieser Stelle mit dem new Operator und das Objekt heißt mysqli. Dem übergebe ich vier Parameter. Zuerst gebe ich den Datenbank-Server an. Dann den Benutzernamen, das Passwort und ich kann hier gleichzeitig angeben, welche Datenbank ich benutzen möchte. Der Datenbank-Server ist normalerweise "localhost". Benutzername wird im Normalfall nicht "root" sein, außer Sie arbeiten lokal in xampp, und Sie haben keinen weiteren MySQL-Benutzer erstellt. Dann ist der Benutzer "root". Und dann hat der Benutzer auch noch kein Passwort. Das wäre eine Katastrophe aus sicherheitstaktischen Gründen auf einem echten Server. Bei einer lokalen Entwicklung per xampp ist das natürlich möglich. Und hier im Beispiel heißt die Datenbank "garten". Dann sollten wir natürlich überprüfen, ob das geklappt hat. Also, ob beispielsweise Benutzername und Passwort wirklich in diesem Fall stimmen. Sie erhalten hier ein Objekt zurückgeliefert, das die Verbindung zur Datenbank darstellen. Wir können jetzt hier überprüfen mit connect_error, ob es einen Fehler bei der Verbindung gegeben hat. Wenn das hier einen Fehler gegeben hat, dann lassen wir uns eine Fehlermeldung ausgeben und mit exit beenden wir das Skript. Im Normalfall würden Sie dann hier jetzt weitere Befehle angeben, um eben die Daten aus der Datenbank beispielsweise auszulesen. Bei uns hier wollen wir uns erst einmal nur die Meldung ausgeben lassen: "Juhu, die Verbindung hat geklappt." Und danach schließen wir wieder die Verbindung. Schauen wir uns einmal das Beispiel an. Und schön. Wenn alles geklappt hat, kommt eben diese Meldung. Jetzt kann es Probleme mit dem Zeichensatz geben. Deswegen sollten Sie hier noch einmal sicherheitshalber den Zeichensatz setzen, so wie ich das hier über diese drei Zeilen hier ergänzt habe, mit set_charset. Sagen Sie noch einmal, dass Sie wirklich utf8 verwenden, sonst kann es Probleme mit den Sonderzeichen geben, das heißt, es kann dann passieren, dass üs und äs in Deutschen nicht korrekt dargestellt werden. Jetzt wollen wir natürlich eine Abfrage auch durchführen. Zuerst einmal wollen wir uns bestimmte Inhalte von der Tabelle "pflanzen" ausgeben lassen. Um das zu machen, müssen wir uns überlegen, wie der richtige SELECT-Befehl heißt. Das heißt, wir müssen hier den SQL-Befehl eintragen. In diesem Fall schreibe ich SELECT name, beschreibung, preis FROM pflanzen, weil ich die drei Spalten haben möchte. Diesen SQL-Befehl schicken Sie über die query-Methode, des mysqli-Objekts an die Datenbank, und das Ergebnis speicherm wir wieder in eine Variable. Das Ergebnis hier ist vom Typ mysqli result, und das bietet wieder neue Methoden, mit denen wir arbeiten können. Und das erste, was wir hier einsetzen, ist, fetch_array. Damit holen wir den ersten Datensatz des Ergebnisses in Form eines Arrays. Das können wir uns dann hier, ist dann gespeichert, und das wollen wir uns dann einmal anzeigen lassen mit print_r. Und danach schließen wir die Ergebnismenge, und das hatten wir haben ja schon da stehen, dass wir eben auch die Datenbankverbindung schließen. Schauen wir uns dann einmal dieses Ergebnis an. Sie sehen, wir haben jetzt aus der Datenbank-Tabelle den ersten Datensatz ausgelesen, und erhalten den in Form eines assoziativen Arrays. Das heißt, wir können dann zum Beispiel, Name des Arrays, name auf den Feldahorn zugreifen, oder über beschreibung auf die Beschreibung. Alternativ dazu sind die einzelnen Elemente auch über Ihren index erreichbar. Jetzt wollen wir natürlich, wenn wir so ein SELECT verwenden, nicht nur einen Datensatz ausgeben lassen, sondern alle. Und dafür können wir jetzt eine Schleife einsetzen. Es gibt nämlich eine Besonderheit bei dem fetch_array. Das liefert mir immer einen Datensatz und schaltet den internen Zähler ein zweiter, und es liefert mir am Schluß, wenn kein Datensatz mehr da ist, false zurück. Deswegen können wir das gut in einer Schleife einbauen. Hier sehen Sie jetzt, der Anfang ist gleich geblieben, dass eine Schleife eingesetzt wird. Das ist ein schöner Fall für while. Hier steht das fetch_array, was mir immer ein Array liefert, also jeden Datensatz als Array. Und dann immer um eins weiter geht, das heißt, bei jedem erneuten Aufruf wird der nächste Datensatz geliefert, solange, bis nichts mehr vorhanden ist. Dann gibt es false zurück, damit wird unsere Schleife beendet, und dann wird der Rest hier ausgeführt. Innerhalb der Schleife kann ich jetzt auf dieses assoziative Array, auf die einzelnen Elemente zugreifen, indem ich hier in eckigen Klammern den Namen der Felder angebe. Hier lasse ich mir ausgeben den Namen der Pflanze, die Beschreibung der Pflanze und den Preis. Schauen wir uns auch einmal dieses Beispiel an. Hier sehen Sie, jetzt haben wir wirklich alle Datensätze der Tabelle uns auslesen lassen. Die Darstellung ist natürlich jetzt noch nicht ganz optimal. Oft würde man, wenn man so viele Daten hat, die als Tabelle ausgeben lassen. Und das schauen wir uns jetzt an. Das heißt, hier an der Stelle, wo wir hier nur einzelne Zeilen haben, durch Zeilenumbruch hier jeweils getrennt, da werden wir unsere Tabellenzeilen haben. Schauen wir uns an, wie das hier funktioniert. Also, hier haben wir wieder unser SELECT. Das ist gleich geblieben. Da hat sich überhaupt nichts geändert. Dann lassen wir uns das TABLE Starttag ausgeben, und hier das TABLE Endtag. Hier haben wir wieder unsere while-Schleife, die Bedingung hier ist genauso konstruiert, wie eben auch. Es hat sich jetzt geändert, was hier drinnen steht. Für jeden Datensatz erstellen wir eine Zeile, und wir erstellen immer Zellen für die einzelnen Felder, die wir zusätzlich, sicherheitshalber, es könnten ja irgendwelche Sonderzeichen da gespeichert sind, über htmlspecialchars ausgeben lassen. Schauen wir uns auch dieses Ergebnis hier an. Und dann sehen Sie, dass ist jetzt eine übliche Art, wie man so etwas präsentieren würde. Es sind also mehrere Schritte notwendig, wenn man Datensätze mit PHP über die MySQLi Schnittstelle auslesen lassen möchte. Zuerst einmal muss man immer die Verbindung herstellen, und die Datenbank auswählen, dann muss man die Abfrage senden, und das Ergebnis aufbereiten. Dieser Schritt ist am aufwendigsten, und da verwenden Sie am besten eine while-Schleife. Am Schluß müssen Sie dann die Verbindung noch schließen.

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)
Derzeit sind keine Feedbacks vorhanden...
 

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!