Raketenwilli: Nachtrag: PHP, MySQL Abbruch vermeiden

Beitrag lesen

Hm. Normalerweise macht man einfach das INSERT, SELECT, UPDATE oder sonstwas und schaut in PHP, ob der Datenbankserver meckert(PDO). (Variante für mysqli)

Nachtrag:

Das Problem ist offenbar das abbrechende Skript. Die Lösung lautet:

Fehler mit try { … } catch { … } abfangen wie unter „4. Fehler abfangen“ gezeigt:

https://www.peterkropff.de/site/php/mysqli_fehler.htm

Weitere Probleme – im Hinblick auf mehrere schreibende, aber logisch zusammenhängende Zugriffe auf die Datenbank – lassen sich mit Transaktionen abfangen. Bei einem - offenbar gewünschtem - Nichtabbruch des Skriptes ist es auch notwendig, das ROLLBACK-Kommando an die Datenbank zu senden. Denn sonst wird die normalerweise eröffnete Transaktion (mit den bis dahin erfolgreichen, aber insgesamt unvollständigen Änderungen) am Ende der Verbindung, also des PHP-Skriptes automatisch „comittet“, also übernommen: „autocommit = ON“.

Einstieg:

Die Aussage, dass normalerweise der Programmierer (und also das Skript) die Spaltennamen kennt und benennt (und nicht etwa der Benutzer eines vermeintlichen Webformulares), die bleibt natürlich. Es gibt da nur die eine Ausnahme, dass ein solcher Benutzer - sorgfältig authentifiziert - eine Datentabelle via Webformular anlegen/ändern soll.