Tom: Verständliche Problembeschreibung fehlt

Beitrag lesen

Hello,

Ich gehe davon aus, dass früher oder später Usereingaben direkt im SQL-String landen werden .. und da gebe ich den Kontextwechsel-Tipp lieber jetzt als später, wenn man sich schon Murks angewöhnt hat.

Schon besser - diese Info solltest du aber nicht vorenthalten :)

Dort wo es nicht notwendig ist überall und an jeder Stelle einfach mal ein mysql_real_escape_string() herumknallen ist der Performance nicht sehr zuträglich.

Na, na. Das wird doch nur (maximal) einmal pro Spaltenwert beim Zusammenstellen des Querys gemacht. Die eigentlich teure Aufgabe, die Abfrage, bekommt dann doch statische Werte.

Wichtiger finde ich, dass man für eine universelle Escaping-Funktion die Arten von Spaltentypen unterscheiden sollte

Stringwerte       ->                    mysql_real_escape_string()
ganzzahlige numerische Werte     ->     intval()
  wenn in der Abfrage noch
  damit gerechnet werden soll
Logische Werte (TRUE, FALSE, NULL) ->   die Literale TRUE, FALSE, NULL in Natura einstanzen

Und was machen wir bei Dezimaltypen, Daten, usw?

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de