Tom: You have an error in your SQL syntax

Beitrag lesen

Hello,

Ich wiederhole mich gerne ganz deutlich: Der Verzicht auf die einfachen Anführungszeichen um Felder, die numerischen Inhalt haben, ist in SQL (mindestens MySQL) nicht hilfreich bis schädlich. Man sollte grundsätzlich ALLE Felder in Anführungszeichen setzen und dann ebenso grundsätzlich escapen. Die Datenbank erhält, egal ob mit oder ohne Anführungszeichen, sowieso einen String mit dem Zahlenwert, der wieder zu parsen und zu verstehen ist, sofern das Ziel ein Feld mit Zahlentyp ist.

Dem widerspreche ich.
ALLE werte kann man nicht in Anführungszeichen setzen.

So sind NULL, TRUE und FALSE davon auszunehmen.

Diese reservierten Wörter müssen OHNE Häkchen übergeben werden. Wer also mit dem Spaltentyp Binaray arbeiten will, muss dies beachten und wer Felder bewußt "zurücksetzen" will auf NULL eben auch.

Man kann die Schnittstelle aber trotzdem automatisieren, da die Datenbank ihre Spaltentypen ja kennt und man diese also vorher mit den vom Client kommenden Werten abgleichen kann.

Da man NULL, TRUE und FALSE vermutlich nicht als reservierte Wörter vom Client bezieht, sondern irgendwie als Checkbox, Radio oder Select-Value sollte es also keine Probleme bereiten, diese einzusetzen.

Man kann aber eben nicht mit dem "großen Hammer" über sein assoziatives Datenarray flitzen, um die Werte darin in Häkchen zu escapen und in Häkchen zu setzen.

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)