Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mysqli_fetch_array() no funciona bien.

Estas en el tema de mysqli_fetch_array() no funciona bien. en el foro de PHP en Foros del Web. Hola, estoy haciendo una consulta MySQL desde PHP y con mysqli y me devuelve la cantidad correcta de valores, pero cuando aplico el mysqli_fetch_array() me ...
  #1 (permalink)  
Antiguo 26/04/2014, 13:14
 
Fecha de Ingreso: abril-2014
Mensajes: 72
Antigüedad: 10 años, 1 mes
Puntos: 5
mysqli_fetch_array() no funciona bien.

Hola, estoy haciendo una consulta MySQL desde PHP y con mysqli y me devuelve la cantidad correcta de valores, pero cuando aplico el mysqli_fetch_array() me devuelve un único valor. No sé por qué. Ven algún error?

Código PHP:
Ver original
  1. $sql = "SELECT name
  2.         FROM cont_artist
  3.         WHERE id=21 OR id=26 OR id=30";
  4.  
  5. $artistFtName = mysqli_query($db, $sql) or die(mysqli_error($db));
  6. print_r($artistFtName);
  7. echo '<br /><br />';
  8.  
  9. echo 'Numero de resultados: ';
  10. print_r(mysqli_num_rows($artistFtName));
  11. echo '<br /><br />';
  12.  
  13. $artistFtName = mysqli_fetch_array($artistFtName);
  14. print_r($artistFtName);
  15. echo '<br /><br />';

El resultado:
Cita:
mysqli_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => [num_rows] => 3 [type] => 0 )

Numero de resultados: 3

Array ( [0] => Farruko [name] => Farruko )

Última edición por zyxer; 26/04/2014 a las 13:21
  #2 (permalink)  
Antiguo 26/04/2014, 13:30
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: mysqli_fetch_array() no funciona bien.

¿Y qué sucede si imprimes los valores del resultado de la línea número 13 en un bucle?

Prueba así y nos dices cómo te fue:

Código PHP:
Ver original
  1. while ($artistFtName = mysqli_fetch_array($artistFtName)){
  2.     echo $artistFtName["name"] . "<br />";
  3. }

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 26/04/2014, 13:44
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: mysqli_fetch_array() no funciona bien.

Bueno, daría error después de la primera iteración, porque está sobreescribiendo la variable $artistFtName.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 26/04/2014, 13:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: mysqli_fetch_array() no funciona bien.

¡Es verdad! No lo había notado. No vuelvo a almorzar y responder temas al mismo tiempo.

Utiliza otra variable para recoger el conjunto de resultados.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 26/04/2014, 13:49
 
Fecha de Ingreso: abril-2014
Mensajes: 72
Antigüedad: 10 años, 1 mes
Puntos: 5
Respuesta: mysqli_fetch_array() no funciona bien.

Sí, gracias a ambos. Intenté lo que dijo Alexis88 tomando en cuenta lo que dice Triby y como quiera dió error:
Cita:
Fatal error: Cannot use object of type mysqli_result as array in /home/www/midominio.com/archivo.php on line ##
  #6 (permalink)  
Antiguo 26/04/2014, 13:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: mysqli_fetch_array() no funciona bien.

¿Y el código de eso?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 26/04/2014, 13:53
 
Fecha de Ingreso: abril-2014
Mensajes: 72
Antigüedad: 10 años, 1 mes
Puntos: 5
Respuesta: mysqli_fetch_array() no funciona bien.

Espera, me di cuenta de que puse la variable equivocada. ahora lo corregí, lo probaré y les digo.

Postdata: les pido paciencia, porque el código está mezclado con un montón de líneas más.
  #8 (permalink)  
Antiguo 26/04/2014, 14:03
 
Fecha de Ingreso: abril-2014
Mensajes: 72
Antigüedad: 10 años, 1 mes
Puntos: 5
Respuesta: mysqli_fetch_array() no funciona bien.

Funcionó perfecto, y no solo eso, me ahorró unas 4 o 5 líneas de código (aunque sigo pensando que el error inicial no tenía sentido). Gracias!!

Etiquetas: mysql, select, sql
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 16:36.