Frank (no reg): "Joker" bei WHERE MYSQL PHP4

Beitrag lesen

@Frank: Danke! Leider muss ich da noch für PHP4 proggen (4.4.7) :/

Naja, dann pappst du die Query halt wieder mit sprintf zusammen und verwendest trotzdem COALESCE .. und dazu NULLIF und den Surrogatwert -1.

NULLIF(arg1, arg2) gibt NULL zurück wenn arg1 = arg2
Und den Fall mit NULL können wir ja schon mit COALESCE behandeln

WHERE Spalte = COALESCE(NULLIF(%s,-1), Spalte)

-1 ist gebräuchlich, da auto_increment spalten meistens mit +1 anfangen zu zählen und du für einen Schlüsselwert -1 äussert selten Daten haben wirst, in einer normalen Welt, auch unter MySQL

Gruss, Frank

P.S: bitte nicht immer alles zitieren wenn du dich gar nicht darauf beziehst. TOFU Problem ;))