MySQL sauber schreiben
MySQL Schlüsselwörter in Großbuchstaben
Alle Schlüsselwörter in MySQL sollten komplett großgeschrieben werden wie "SELECT, FROM, WHERE, ALTER, UPDATE, INSERT".
Dadurch ist auf einen Blick ersichtlich, was Inhalt wie Spaltennamen, Tabellennamen und Bedingungen ist und was MySQL-Schlüsselwörter.
Fehlervermeidung bzw. Suchhilfe bei MySQL-Fehlern
Klar, man kann alles in eine Zeile schreiben, aber spätestens wenn der erste Fehler kommt, sucht man, wo das Problem in der einen Zeile sitzt. Sinnvoll ist es daher, mit Umbrüchen und Einrückungen zu arbeiten (was man auch bei PHP und HTML macht).
Als Beispiel eine einfache Anweisung mit INSERT
INSERT INTO termine
(
datum,
uhrzeit,
beschreibung
)
VALUES
(
'2013-12-24',
'15:23:00',
'Weihnachtgeschenke kaufen'
);
Vorteil ist, dass man bei einem Fehler die fehlerhafte Zeile als Nummer erhält. Weiterhin kann man einfach abschätzen, ob es so viele Werte wie Spalten gibt.
Jedem MySQL-Query sein Semikolon
Zur Fehlervermeidung immer das jeweilige MySQL-Kommando mit einem Semikolon (;) beenden. Es können so mehrere MySQL-Kommandos hintereinander gesendet werden und die Datenbank weiß dann, wo der erste aufhört und der folgende anfängt.
Teilweise sieht man die MySQL-Befehle ohne Semikolon zum Abschluss. Das funktioniert zwar in der Regel, da nur 1 Befehl gesendet wird. Aber sobald mal 2 verknüpft werden, kommen Probleme. Und nachdem man es von PHP schon gewohnt ist, einfach in MySQL genauso machen.
DON´Ts: SELECT *
Schön einfach ist es natürlich, einfach alle Spalten zu selektieren, selbst wenn man nicht alle benötigt. Um die Anwendung schnell zu machen, sollten Sie bestenfalls zum Testen mit SELECT * ...
operieren - für die spätere Anwendung immer die benötigten Spalten aufführen. Das gibt schnelle und performante Anwendungen.
PHP und MySQL-Querys
Erstellen Sie für Ihre MySQL-Query eine Variable. Hier kann dann sauber das MySQL-Kommando ausgebaut werden und Sie haben Chancen auf eine hilfreiche Fehlermeldung, falls sich doch mal ein Fehler einschleicht.
<?php
$sql = "INSERT INTO termine
(
datum,
uhrzeit,
beschreibung
)
VALUES
(
'2013-12-24',
'15:23:00',
'Weihnachtgeschenke kaufen'
);
";
$result = mysqli_query($db_link, $sql)
OR die("'".$sql."':".mysqli_error());
?>
Zusätzlich bekommt man dann in der Fehlermeldung die ursprüngliche MySQL-Query angezeigt.
Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).
Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button: