Hi!
Dann muss man aber eine ordentliche Fehlerbehandlung und kein Gnandenschuss-die() einbauen.
Eine bessere Fehlerbehandlung könnte man mal irgendwo unter einer URL veröffentlichen.
Ja, einen "Wie sucht man grundlegend Fehler"-Artikel, der dann auch einen "Robustes MySQL-Beispiel"-Abschnitt enthalten soll, hab ich mir schon lange vorgenommen zu schreiben.
Natürlich mit Berücksichtigung von
Fatale Fehler sind üblicherweise so gravierend, dass das PHP-Script nicht fortgeführt werden kann. Fehler beim Mit-MySQL-Arbeiten lassen sich alle problemlos abfangen und das Script kann geordnet beendet werden.
Der ist nebensächlich. Im Fehlersuch-Fall kann man sich schnell mal drei Kontrollausgaben einbauen. Für den laufenden Betrieb braucht man eher einen Logging- und Benachrichtigungsmechanismus.
- $bolIsTestSystem (Ich mute Dir mal zu, dass Du erkennst, was da jeweils drin sein soll)
Das kann sich jeder selbst einbauen, wenn er das benötigt.
dann könnte man immer schön schreiben
$result=mysql_query($sql, $DB);
if (false===$result) {
sql_error('mysql', $DB, $bolIsFatal, $bolDebugModus, $bolIsTestSystem);
# oder, hier auf jeden Fall lohnend, als Objekt
}
und die Funktion verlinken. Aber vermutlich würde dann gar niemand was lernen, jeder würde das kopieren und die Anfragen mit "verstehe gar nichts" würden noch häufiger.
Das würde vermutlich passieren, wenn du die Funktion schreibst, denn du neigst ja dazu, lieber fertigen Code auszuarbeiten, als den Weg zu beschreiben :-)
Ich denke aber nicht, dass eine Universalfunktion für alle Anwendungsfälle genügt. Das wäre dann wie eine eierlegende Wollmilchsau - verspricht ideal zu sein, ist aber unmöglich herzustellen. Selbst wenn, hat man dann immer das Euter mit rumzuschleppen, auch wenn man nur die Wolle und ab und zu mal Eier braucht. Dann zeige ich lieber ein grundlegendes Beispiel oder ein Gerüst dessen und vielleicht noch den Spezialfall "absichtlicher Unique-Constraint-Fehler".
Fehler können immer auftreten, auch wenn die Abfrage syntaktisch einwandfrei ist.
Immer? Im vorliegenden Kontext (einfache Abfrage) eher nicht.
Immer. Die Abfrage selbst ist bei sorgfältigem Erstellen üblicherweise nicht mehr das Problem, aber dem MySQL-Server kann jederzeit unpässlich werden. Selbst dann, wenn der Connect noch klappte, kann es sein, dass die Abfrage nicht mehr durchgeführt werden kann, weil just in dem Augenblick die Netzwerkverbindung gestört ist, das System in seinen Wartungsmodus geht (oder gegangen wird), oder oder oder. Der Gründe gibt es viele. Natürlich kann man, wenn das zu oft vorkommt, über einen Anbieterwechsel nachdenken, aber nicht mit ihnen rechnen sollte man nicht.
Lo!