Foros del Web » Programando para Internet » PHP »

no me visualisa en pantalla los datos que pido

Estas en el tema de no me visualisa en pantalla los datos que pido en el foro de PHP en Foros del Web. en lugar de llamar ciertos datos, aparecen los siguientes mensajes de error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/nompagina/public_html/php/archivo1.php ...
  #1 (permalink)  
Antiguo 12/10/2004, 15:55
 
Fecha de Ingreso: octubre-2004
Mensajes: 7
Antigüedad: 19 años, 6 meses
Puntos: 0
no me visualisa en pantalla los datos que pido

en lugar de llamar ciertos datos, aparecen los siguientes mensajes de error:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/nompagina/public_html/php/archivo1.php on line 24

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/nompagina/public_html/php/archivo1.php on line 40

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/nompagina/public_html/php/archivo1.php on line 75

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/nompagina/public_html/php/archivo1.php on line 79

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/nompagina/public_html/php/archivo1.php on line 95

En cada linea de error se encuentran los siguientes codigos respectivamente:

Código PHP:
linea 24:  while ($row=mysql_fetch_array($result))
linea 40:  mysql_free_result ($result);
linea 75:  while ($row=mysql_fetch_array($result))
linea 79:  mysql_free_result ($result);
linea 95:  mysql_free_result ($result); 
cual puede ser el problema?, si en el appserv que tengo funcionaba perfecto...?
  #2 (permalink)  
Antiguo 12/10/2004, 16:05
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
la variable $result guarda un array con los registros devueltos. Lo que dice el error es que no habian valores en este array, por lo tanto, la consulta no devolvio registros; debido a que: no habian registros, la consulta estaba mal hecha (un error de sql), nunca hubo una conexión con la bd, entre otras. Revisa tu codigo y verifica si la consulta se ejecuta, si la conexion se realiza, si se selecciona una bd .
  #3 (permalink)  
Antiguo 12/10/2004, 16:44
Avatar de jesusbet
(Desactivado)
 
Fecha de Ingreso: mayo-2004
Ubicación: Monterrey, MX
Mensajes: 2.667
Antigüedad: 19 años, 11 meses
Puntos: 2
Lo mas probable es que no haya datos en la base de datos, como dijo claudiovega..

Saluos
  #4 (permalink)  
Antiguo 12/10/2004, 16:52
 
Fecha de Ingreso: octubre-2004
Mensajes: 7
Antigüedad: 19 años, 6 meses
Puntos: 0
no, en este momento existen datos dentro de la bd, y también existe conexión con la misma.
  #5 (permalink)  
Antiguo 12/10/2004, 18:18
Avatar de ccca001  
Fecha de Ingreso: agosto-2004
Mensajes: 388
Antigüedad: 19 años, 7 meses
Puntos: 0
mmmm, mientras programaba tambien tuve los mismo errores, (ojo, soy novato en esto), pero lo arreglaba con otra sintaxis:

while ($row=mysql_fetch_array($result)) por
while ($row=mysql_fetch_assoc($result))

y funcionaba, no se si te sirva, pero me funcionaba...

la diferencia entre ambos? todavia no he podido leer el manual de php, pero lo averiguare...

saludos....
__________________
"How do you define Real?"
  #6 (permalink)  
Antiguo 13/10/2004, 06:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Será mejor que pongas el código completo para evaluar el problema y sugerir algunas cosas como por ejemplo que .. antes de intentar atacar un ___fetch__ o un mysql_result() se cuenten los registros que arrojó la consulta vía mysql_num_rows(); si es =1 o mayor .. entonces aplicas tu mysql_fetch_xxx() o mysql_result()

Un saludo,
  #7 (permalink)  
Antiguo 13/10/2004, 07:46
Avatar de shadow_woman  
Fecha de Ingreso: junio-2004
Ubicación: La Isla De Los Muertos
Mensajes: 60
Antigüedad: 19 años, 10 meses
Puntos: 0
A mi me ha dado ese problema varias veces y era porque la conexion a la base de datos no era la correcta y en la variable $result no habia los datos que yo esperaba.De todas formas haz un " echo $sql " para ver tu sentencia sql, a veces va bien para ver que esta buscando en la base de datos.
  #8 (permalink)  
Antiguo 13/10/2004, 16:53
 
Fecha de Ingreso: octubre-2004
Mensajes: 7
Antigüedad: 19 años, 6 meses
Puntos: 0
El codigo completo es el siguiente


Código PHP:
<?php
include("conex.php");
      
extract($_GET);
        
$result=mysql_db_query("base_datos","select user,nombres,apellidos,(year(curdate())-ano) as ano,ciudad_res,pais,email,(contador+1) as contador, perfil,foto
        FROM cli_tal, pais where cli_tal.pais_res=id_pais AND user='$id'"
);
  echo 
"<table width='96%' border=0 >";
 
$lista_colores=array('');
$num_colores=0;
$indice=0;
while (
$row=mysql_fetch_array($result))
{
$color=$lista_colores[$indice $num_colores];
$indice++;
echo 
"<tr bgcolor=\"$color\">";
echo 
"<td bgcolor=\"$color\" align='left'><font color='#FFFFFF'face='Verdana' size='2'><b>$row[nombres]</b></font></td><tr>";
echo 
"<td bgcolor=\"$color\" align='left'><font color='#FFFFFF'face='Verdana' size='2'><b>$row[apellidos]</b></font></td><tr>";
echo 
"<td bgcolor=\"$color\" align='left'><font color='#FFFFFF'face='Verdana' size='2'><b>$row[ano]</b></font></td><tr>";
echo 
"<td bgcolor=\"$color\" align='left'><font color='#FFFFFF'face='Verdana' size='2'><b>$row[ciudad_res]</b></font></td><tr>";
echo 
"<td bgcolor=\"$color\" align='left'><font color='#FFFFFF'face='Verdana' size='2'><b>$row[pais]</b></font></td><tr>";
echo 
"<td bgcolor=\"$color\" align='left'><font color='#FFCC00'face='Verdana' size='2'><a target='_blank' href='email2.php?id=$row[email]'><b>E-mail</b></font></td><tr>";
echo 
"<td bgcolor=\"$color\" align='left'><font color='#FF0000'face='Verdana' size='2'><b>$row[contador]</b></font></td><tr>";
echo 
"<td bgcolor=\"$color\" align='left'><font color='#FFFFFF'face='Verdana' size='2'>$row[perfil]</font></td><tr>";
echo 
" </tr>\n";
}
echo 
"</table>";
mysql_free_result ($result);
mysql_close();
?>
 <?php
        $result
=mysql_db_query("base_datos","select foto FROM cli_tal where user='$id'");
while (
$row=mysql_fetch_array($result))
{
echo 
"<td align='center'><img src='../fot/$row[foto]''left:16px top:133px width='177' height='172'></td><tr>";
}
mysql_free_result ($result);
mysql_close();
?>
 <?php
$result
=mysql_db_query("base_datos","UPDATE cli_tal SET contador=(contador+1) WHERE user='$id'");
mysql_free_result ($result);
mysql_close();
?>
  #9 (permalink)  
Antiguo 14/10/2004, 05:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Intenta usar estructuras tipo:

$result=mysql_db_query(....) or die (mysql_error());

así veras los errores que tienes . ya sean de sintax SQL o de conexión.

Por lo demás ya te comenté que deberías usar:

if (mysql_num_rows($result) > 0){
// aplicas tu while () con los mysql_fetch_
} else {
echo "No hay resultados";
}


Un saludo,
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 09:11.