Moin!
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.
und ich wiederhole mich auch gerne deutlich: das sollte man bei DB2 5 und 6 nicht tun, da die DB2 einem das dann gerne mit einem Type Mismatch um die Ohren haut...(möglicherweise abhängig von der Konfiguration)
Ich schätze, der einzige sinnvolle Ausweg aus der Misere ist, "prepared statements" zu nutzen - eine Methode, die in PHP mit MySQL nur durch das mysqli-Interface möglich ist.
Aber da man sowieso kein PHP 4 mehr benutzen sollte (es sind wahrscheinlich diverse Sicherheitsbugs auch in der aktuellsten 4er-Version, die Entwickler haben nur keine Lust mehr, die Fixes aus der aktuellen 5 nochmal zurückzuportieren - irgendwie verständlich), dürfte die Verfügbarkeit von mysqli kein grundsätzliches Problem sein.
- Sven Rautenberg
"Love your nation - respect the others."