Il tuo metodo per verificare la presenza di NULL è probabilmente il problema. In MySQL, prova quanto segue:
SELECT `id` FROM `users` WHERE `username` = "test" AND `id` IS NOT NULL;
Per verificare la presenza di NULL e una stringa vuota, puoi utilizzare:
SELECT `id`
FROM `users`
WHERE `username` = "test"
AND (`id` IS NOT NULL OR `id` != "");