Originariamente inviato da fastmax
purtroppo l'interfaccia che crea la query genera lo sprintf (sempre, qualunque query si costruisca, anche la più semplice) probabilmente è stato scelto di usare un sistema generico che valga per la maggioranza dei casi, anche se magari con funzioni talvolta inutili.
I problemi infatti arrivano quando si inizia a modificare manualmente.
Comunque vado ad applicare le modifiche da te suggerite, ti tengo aggiornato.
Grazie
le modifiche che ho proposto prima sarebbero alternative all'uso di sprintf.

il problema tuo, mi pare di capire, e' che se non ci sono valori nella variabile passata con get, dovresti mettere LIKE '%' e questo dovrebbe essere una stringa sia per la funzione di controllo sia per sprintf ('%s').

Se invece hai valori questo valore e' un numero che deve essere passato alla funzione con 'int' e prelevato da sprintf con '%d'

Quindi la if deve tenere in considerazione sia la composizione della variabile sia il formato da passare allo sprintf nel where.

ecco perche' suggerivo di eliminare sprintf().