PHP MySQLi Einleitung

  • Hier zeige ich, wie ihr mysqli benutzt.

    Inhaltsverzeichnis:

    1. Einleitung
    2. Verbinden
    3. Abfragen
    4. Daten verarbeiten


    1. Einleitung

    MySQLi ist eine PHP-Erweiterung welche Standard-mäßig bei PHP mitinstalliert ist. Sie löst ab PHP5.5.x die alte Version "MySQL" ab. Scripte mit MySQL werden ab PHP5.5.x nichtmehr laufen.

    Nun ist es also wichtig, dass wir nichtmehr auf veralteten Plugins aufbauen, sondern uns der Zukunft zuwenden.

    Deswegen möchte ich euch hier die Grundlagen zeigen und einen kurzen Überblick geben.


    2. Verbinden

    Verbinden ist unter MySQLi ziemlich einfach. wir brauchen eine Variable $link , welcher wir unsere Verbindung zuweisen können. Dann wollen wir uns mal verbinden:

    PHP
    1. $link = new mysqli("localhost", "root", "root", "Test");
    2. if ($link->connect_errno) {
    3. die("Verbindung fehlgeschlagen: " . $link->connect_error);
    4. }

    Hier zeige ich die Basis Konfiguration, welche für die meisten reichen sollte. Die Parameter sind in Reinfolge:

    1. host = die IP-Adresse oder der Hostname wo eure Datenbank gehostet ist.
    2. username = Der Benutzername eures MySQL-Benutzers.
    3. password = Passwort des Benutzers.
    4. database = Der Name der Datenbank welche ihr benutzen wollt.
    5. port = falls ihr einen abweichen Port habt, außer den Standard 3306.
    6. socket = die Verbindungsart mit dem Server.


    Nun habt ihr eine Verbindung mit dem Server und könnt eure Abfragen starten.


    3. Abfragen

    Nun wollen wir aber auch etwas abfragen. Dazu habe ich einen typischen Query in einer Variable gespeichert und frage das Ergebnis ab.

    PHP
    1. $sql = "SELECT * FROM users WHERE name='Bennet'";
    2. $result = mysqli_query($link, $sql);
    3. // parameter 1: Verbindung, 2: Query-String
    4. if ($result->num_rows > 0) {
    5. // auswerten
    6. } else {
    7. // kein Ergebnis
    8. }

    Als erstes Queryn wir mit der Funktion mysqli_query(), danach schauen wir nach wieviele Reihen beeinflusst werden mit $result->num_rows. Dies funktioniert beim Selecten und auch beim Updaten und Inserten.

    Nun haben wir unsere Daten, aber wie verarbeiten wir diese?


    4. Daten verarbeiten

    Hier gibt es viele verschiedene Methoden, aber alle funktionieren gleich. Wir brauchen eine while()-Schleife, in der wir durch die einzelnen Reihen unserer Query loopen.


    Ich zeige euch hier zwei Methoden, welche weit verbreiten sind. Einmal fetch_object und fetch_assoc().


    fetch_object():

    PHP
    1. while ($row = $result->fetch_object()) {
    2. $id = $row->id;
    3. //speichert den Wert der Spalte "id" in der variable $id ab.
    4. $name = $row->name;
    5. // speichert Name in der Variable $name ab.
    6. }

    fetch_assoc();

    Hier bekommen wir das Ergebnis in einem Array zurück

    PHP
    1. while ($row = $result->fetch_assoc()) {
    2. $id = $row['id'];
    3. //speichert den Wert der Spalte "id" in der variable $id ab.
    4. $name = $row['name'];
    5. // speichert Name in der Variable $name ab.
    6. }


    fetch_array();

    Hier gibt es Parameter (MYSQLI_ASSOC, MYSQLI_NUM, oder MYSQLI_BOTH).

    Hierbei wird keine Schleife benötigt!


    Nach einer Abfrage sollte man das ResultSet immer mit $result->free(); schließen und die Verbindung mit mysqli->close(); beenden.


    Zusammenfassung:

    Nun solltet ihr in der Lage sein, eine kleine Abfrage mit MySQLi zu meistern. Bei Rückfragen stehe ich gerne zur Verfügung. Einfach hier im Forum eine Nachricht schreiben oder per E-Mail an: bennet@intranetproject.net.

    [1]


    Einzelnachweise
    1. http://php.net/manual/de/class.mysqli-result.php

Teilen

Kommentare 6