Es probable que tengas algún error de lógica en el PHP, pero esos temas se tratan en el
Foro de PHP, que es donde están los expertos en el lenguaje.
Postea la duda allí o espera que los moderadores te muevan el mensaje, porque en lo que respecta al SQL, está OK, por lo que debe estar devolviendo algo...
Saludos.