Lo ideal es que uses siempre la función "mysql_error()" para ver mensajes de error exactos de SQL o de Conexión en tus ejecuciones de funciones para acceso a Msyql desde PHP.
por ejemplo usado tipo
mysql_query($sql) or die (mysql_error());
Luego .. también es buena práctica "ver" si tu consulta SQL ejecutada tiene resultados antes de intentar acceder a los mismos con mysql_fetch_xxx()
Código PHP:
$resultado=mysql_query($sql) or die (mysql_error());
if (mysql_num_results($resultado)> 0){
// accedes a tus resultados con mysql_fetch_xxx() o mysql_result() como gustes..
} else {
echo "No hay resultados";
}
Un saludo,