Foros del Web » Programando para Internet » PHP »

Problema simple con While

Estas en el tema de Problema simple con While en el foro de PHP en Foros del Web. Buenos días de nuevo FDW's. Tengo un pequeño problema con un while y es que cuando realizo la comparación y pido el resultado me lo ...
  #1 (permalink)  
Antiguo 25/02/2011, 04:15
Avatar de nicausio  
Fecha de Ingreso: abril-2010
Ubicación: Solsona
Mensajes: 98
Antigüedad: 14 años
Puntos: 8
Pregunta Problema simple con While

Buenos días de nuevo FDW's.

Tengo un pequeño problema con un while y es que cuando realizo la comparación y pido el resultado me lo muestra correctamente pero me sale un pequeño error



Seguro que es una tonteria pero es algo molesto, por lo demás el codigo funciona correctamente y me muestra el resultado que quiero.

Código PHP:
<?php

$conexion 
mysql_connect("localhost","root","");
mysql_select_db ("import"$conexion) OR die ("No se puede conectar");

      
$sql="SELECT * FROM altas WHERE altas.directorio IN (SELECT directorio FROM directorios)";
      
$resultado=mysql_query($sql) or die ("Query failed with error: ".mysql_error());
      while(
$resultado mysql_fetch_array($resultado)){
      echo 
$resultado['directorio'];
}

?>
Muchas gracias a todos y buen viernes
__________________
Visita mi Blog Personal http://www.nicausio.es o bien Sígueme en Twitter http://www.twitter.com/nicausio
  #2 (permalink)  
Antiguo 25/02/2011, 05:55
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 2 meses
Puntos: 16
Respuesta: Problema simple con While

El propio error te indica que estás introduciendo en la función mysql_fetch_array un array. Y es realmente así.
Fíjate que estás utilizando el "resource" del mysql_query tanto para la función mysql_fetch_array como para el array que devuelve la misma, por lo que en el segundo loop, falla.

Después de enrollarme, la solución es fácil, cambia $resultado por $datos (por ejemplo), en el while, quedaría algo así:
Código PHP:
Ver original
  1. <?php
  2.  
  3. $conexion = mysql_connect("localhost","root","");
  4. mysql_select_db ("import", $conexion) OR die ("No se puede conectar");
  5.  
  6.       $sql="SELECT * FROM altas WHERE altas.directorio IN (SELECT directorio FROM directorios)";
  7.       $resultado=mysql_query($sql) or die ("Query failed with error: ".mysql_error());
  8.       while($datos = mysql_fetch_array($resultado)){
  9.       echo $datos['directorio'];
  10. }
  11.  
  12. ?>
  #3 (permalink)  
Antiguo 25/02/2011, 06:37
Avatar de nicausio  
Fecha de Ingreso: abril-2010
Ubicación: Solsona
Mensajes: 98
Antigüedad: 14 años
Puntos: 8
Respuesta: Problema simple con While

Muchisimas gracias, tenias toda la razón, son de esos errores que no ves por su obviedad!

Cuidate
__________________
Visita mi Blog Personal http://www.nicausio.es o bien Sígueme en Twitter http://www.twitter.com/nicausio
  #4 (permalink)  
Antiguo 25/02/2011, 06:48
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 2 meses
Puntos: 16
Respuesta: Problema simple con While

De nada :)

Te entiendo perfectamente, a todos nos ha pasado jeje

Etiquetas: mysql, mysql_fetch_array, warning
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:57.