dedlfix: Liste mit reservierten Wörtern

Beitrag lesen

Tach!

Und da z.B. $Where ein NOT NULL, LIKE oder sonstige Schlüsselwörter  enthalten kann, muss ich das erkennen, bevor ich $Where durch mysql_real_escape_string schiebe.

Ich würde zwei Wege vorsehen. Der erste und einfache und vermutlich am häufigsten benötigte, wäre ein Array zu übergeben, das Schlüssel-Wert-Paare enthält und damit "WHERE schlüssel='wert' AND so weiter" produziert. Schlüssel und Wert jeweils passend maskiert.

Für die zweite Variante würde ich die Übergabe eines Strings vorsehen, der eine fertig formulierte WHERE-Klausel entgegennimmt. Damit ist der Programmierer flexibel. Da er vermutlich auch an anderen Stellen noch genügend Kontextwechsel beachten muss, würde ich ihm hier an dieser Stelle die Arbeit auch nicht abnehmen wollen, zumal du in deinem Code nur die gegebene Syntax und nicht die Intention dahinter analysieren kannst. Ich würde dabei lediglich Platzhalter in zwei Versionen (Indentifier, Values) vorsehen, für die eine Ersetzung mit gegebenen Parametern erfolgt.

dedlfix.