El problema obviamente está en la consulta a MySQL.
Para depurar imprime en la web la cadena de consulta y ejecutala directamente en el servidor a ver que erro da.
tambien para depurar podrias poner tras el mysql_query:
Código PHP:
if (mysql_errno() != 0) echo "<div>".mysql_error()."</div>";
Si lo que pasa es que la consulta da fallos en función del valor de las variables puedes poner una @ a las funciones susceptibles de tener errores y no mostrará el mensaje de error. Esto más bien es para no romper la estética con un error inoportuno.
Código PHP:
if(@mysql_num_rows($resp) == 0) { }
while($datos = @mysql_fetch_array($resp)) { }
El control de errores es importante.
Salu2 ^^