MySQLi Select und PHP

Mit Hilfe von PHP die Daten abfragen und verarbeiten

MySQLi besteht nicht aus so vielen Befehlen, wie man es von anderen Programmiersprachen her kennt. Aber diese Befehle sind trotzdem mächtige Werkzeuge, um mit Daten arbeiten zu können und beruhen, wie schon ausgeführt, auf den SQL-Befehlssatz. Der wichtigste Befehl ist zweifelsohne Select, um Daten abzufragen.

Dieser Befehl kann in PHP genutzt werden, um nach Herstellung des Kontakts zur Datenbank herauszufinden, welche Daten es gibt. Wird ein Ergebnis geliefert, dann kann damit weitergearbeitet werden - etwa für Ergebnislisten, ganze Artikel oder die komplette Webseite vom Kopfteil bis zur Navigation und den eigentlichen Informationen.

Mit PHP und Select Daten aus der Tabelle holen

$sql = "select * from adressen";
    if($result = $mysqli->query($sql)) {
    while($obj = $result->fetch_object()) {
                     echo "

".$obj->vorname." ".$obj->nachname."

";
                    }
    }

Bis PHP 7.0 konnte man mit den mysql-Befehlen wie mysql_query die Daten abfragen, seit PHP 7.0 ist der Befehlssatz deutlich umgestellt worden und mit MySQLi eine neue Struktur geschaffen worden. Im Grunde wird die übliche Abfrage der Datenbank mit ihren Tabellen in zwei Phasen durchgeführt.

Zuerst wird als Grundlage die Abfrage in $sql gespeichert - in diesem Fall alle Daten aus der Datentabelle adressen. Danach wird mit dem Objekt $mysqli diese Abfrage verarbeitet und in der Variabel $result gespeichert. Bei der Gelegenheit wird auch abgefragt, ob es überhaupt ein gültiges Ergebnis gibt.

Ist dem der Fall gibt es die zweite Phase, indem $obj als Objekt mit den Daten gefüttert wird. Alle Datensätze sind dann in diesem Objekt abrufbar und können mit PHP verarbeitet werden. Das funktioniert in diesem Beispiel einfach so, dass ein Absatz mit dem p-Tag angelegt wird und danach wird Zeile für Zeile oder Datensatz für Datensatz Vorname und Nachname abgerufen und nach jedem Eintrag der Absatz wieder geschlossen.

Wichtig ist dabei das Verständnis des Objekts $obj: mit $obj->FELDNAME kann jede Information herausgeholt werden, also bedeutet das simple $obj->vorname, dass beim Datensatz aus dem Feld vorname der aktuelle Wert geholt wird. Es ist also sehr einfach, die Werte in PHP zu übernehmen und zu nutzen.

Zweite Variante mit direkterem System

$sum1 = mysqli_query($mysqli, "select count(*) as summe from adressen");
$obj_sum1 = $sum1->fetch_object();
echo "aktuell gibt es ".$obj_sum1->summe." Adressen in der Datenbank

";

In diesem Beispiel wird mit mysqli_query direkt die Abfrage vorgenommen. Voraussetzung sind zwei Parameter, nämlich das Objekt $mysqli mit den Zugangsdaten aus der config-Datei, um die Datenbank und ihre Tabellen ansprechen zu können und die Abfrage selbst. In diesem Fall wird gezählt, wie viele Adressen es in der Tabelle adressen gibt und das Ergebnis wird in die virtuelle Variabel summe gespeichert.

In der zweiten Zeile wird dann das Objekt $obj_sum1 mit dem Abfrageergebnis durch die Funktion fetch_object() bestückt und damit kann man auch schon anzeigen lassen, wie viele Datensätze gefunden wurden.

Lesen Sie auch

So richtig aus dem Vollen kann man dann schöpfen, wenn man die Programmiersprache PHP mit dem System der MySQLi-Datenbank verknüpft. Der SQL-Befehlssatz bleibt bestehen, wird aber durch die PHP-Umgebung ummantelt, damit beide kommunizieren können: die Datenbank weiß, was Sache ist und PHP versteht die Antwort. MySQL + PHP bedeutet, dass man direkt vom Skript aus auf die Daten zugreifen kann.

Die Grundvoraussetzung ist einmal das Anlegen einer Datenbank, was auch von PHP aus möglich ist und dann braucht es die Verbindung zur Datenbank.

Damit ist die Grundbasis gelegt und man kann Tabellen anlegen und die Daten speichern. Dabei kann mit mysqli_insert_id die aktuelle laufende Nummer für weitere Aktionen nützlich sein und wichtig ist das Verständnis mit mysqli_close, um nicht mehr gebrauchte Verbindungen zu beenden. Wichtig ist aber auch die richtige Schreibweise beim Arbeiten mit den Daten.

Das Herzstück ist aber die Abfrage. Zweifelsohne braucht man delete und andere Befehle auch, um zu manipulieren, aber mit select kann man verschiedenste Abfragen durchführen wie nach Kriterium, Menge oder auch als Stringabfrage samt Sortierungsangabe.

Diesen Artikel teilen

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel