Foros del Web » Programando para Internet » PHP »

que significa este warning?

Estas en el tema de que significa este warning? en el foro de PHP en Foros del Web. Warning: Unable to jump to row 0 on MySQL result index 2 in ... la linea a la que se refiere tiene: $paginas = mysql_result(mysql_query("SELECT ...
  #1 (permalink)  
Antiguo 06/10/2003, 03:31
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.135
Antigüedad: 22 años
Puntos: 2
que significa este warning?

Warning: Unable to jump to row 0 on MySQL result index 2 in ...


la linea a la que se refiere tiene:

$paginas = mysql_result(mysql_query("SELECT paginas FROM estadisticas WHERE ip = '$ip'",$link),0);

es parte de una funcion para estadisticas, cuyo codigo lo he cogido de un enlace de por aqui

gracias
  #2 (permalink)  
Antiguo 06/10/2003, 03:34
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 10 meses
Puntos: 17
Significa que mysql_query no ha arrojado resultados y, por lo tanto, no se puede recorrer el primer registro.
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 07/10/2003, 08:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
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,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 07/10/2003 a las 08:41
  #4 (permalink)  
Antiguo 07/10/2003, 09:08
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.135
Antigüedad: 22 años
Puntos: 2
gracias chicos

me di cuenta luego, ya que ponia tambien, no sé qué ... division por cero

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:17.