Usa mejor antes de "atacar" tu mysql_fetch_xxx() ... o tus mysql_result() una verificación de si la consulta arroja algún registro ..
Código PHP:
$consulta=mysql_query($sql) or die (mysql_error());
if (mysql_num_rows($consulta)>0){
$nose=mysql_result($consulta,0);
// tu proceso ...
} else {
echo "no hay resultados ...";
}
Tambien puedes usar SQL (más optimo):
Código PHP:
$total_reg=mysql_result("SELECT COUNT(*) FROM tabla WHERE condiciones ....",0) or die (mysql_error());
if ($total_reg > 0){
$paginas = mysql_result(mysql_query("SELECT paginas FROM estadisticas WHERE ip = '$ip'",$link),0);
// Y el resto de tu proceso.
} else {
echo "no hay resultados ...";
}
EL COUNT(*) de Msyql (SQL) arroja un sólo registro (siempre) con el valor del total de registros para esa consulta (incluido WHERE si los requieres) .. Este proceso es más rápido que ejecutar un mysql_num_rows() que lo que hace básicamente es arrojar un "record set" con todos los registros que coincidan con tu consulta SQL y "contarlos" ..
Un saludo,