MySQLi Select mit Fehlermeldung

Hoppala! Fehler bei der Abfrage

Hat man einmal verstanden, wie die MySQLi-Datenbank zu bedienen ist und wie PHP die Daten abfragen und verarbeiten kann, kann man schöne Lösungen entwickeln. Aber was ist, wenn es nicht klappt? Wie sieht die Fehlermeldung aus, wenn es Probleme gibt und wie erreicht man es, dass die Fehler angezeigt werden?

Die select-Abfrage ist im Prinzip eine einfache Lösung, die mit dem PHP-Befehlssatz auch ebenso einfach umgesetzt werden kann, allerdings gibt es ein paar Einladungen für den Fehlerteufel. Ein beliebtes Werk ist gegeben, wenn man auf ein Anführungszeichen, vor allem auf ein Hochkomma vergisst oder wenn Tippfehler passieren, ein Beistrich fehlt etc.

Select-Abfrage mit PHP und einer Fehlerabfrage

Die übliche Abfrage in PHP kann so aussehen:

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

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

";
                    }
    }

 

Dabei wird in $sql die Abfrage gespeichert und über $result und das Objekt $mysqli die Abfrage umgesetzt. Danach landen die Daten im Objekt $obj und können verarbeitet ergo abgerufen werden, wie das im Beispiel mit vorname und nachname auch passiert.

Man kann die Abfrage aber noch erweitern und das ist absolut sinnvoll:

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

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

";
                    }
    } else { echo mysqli_error($mysqli);exit; }

Dazugekommen ist eigentlich nur eine Zeile, nämlich der Befehl, einen etwaigen Fehler mittels mysql_error auf Basis es Objekts $mysqli auszudrucken und das Skript zu beenden. Dann sieht man den Fehler und kann schon erwägen, was nicht gepasst haben mag.

Eine Möglichkeit ist etwa der Ausdruck:

Table "adressen" doesn´t exist

und damit wird zum Ausdruck gebracht, dass es diese Tabelle gar nicht gibt. Eine Abfrage ist dann schwer möglich. Es kann auch Syntaxfehler gegeben haben, weil ein Anführungszeichen fehlt oder irgendwelche anderen Kleinigkeiten, die man leicht beheben kann.

Das Prinzip dieser Technik ist also relativ einfach zu verstehen:

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