il terzo if... intendi dire quello
in verità è un in più che ho lasciato dal debug. Puoi anche far eseguire sempre e comunque la substring (questo perché se trova una condizione da aggiungere alla clausola WHERE, verrà aggiuntocodice:if (strlen($whereclause) >= 4) {
e quindi all'ultima clausola aggiunta ci sarà un "AND " finale di troppo. Prendendone la sottostringa fino al 4°ultimo carattere elimini l'AND di troppo.codice:campo = 'valore' AND