Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean gi

Estas en el tema de Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean gi en el foro de PHP en Foros del Web. Hola chicos, les cuento que tengo una duda sobre como buscar por varios campos digamos por id y ciudad Primero que todo tengo 2 archivos ...
  #1 (permalink)  
Antiguo 12/04/2013, 09:33
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 12 años
Puntos: 2
Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean gi

Hola chicos, les cuento que tengo una duda sobre como buscar por varios campos digamos por id y ciudad

Primero que todo tengo 2 archivos pedido.php

Código PHP:
Ver original
  1. function mostrarConsulta($busId,$busCiudad){
  2.   $sql = new Mysql;
  3.   $sql->connect();
  4.   $query = "select * from pedidos where Id= $busId and Ciudad=$busCiudad";
  5.   $result = $sql->query($query);
  6.   $sql->close();
  7. if (!$result){
  8. return false;
  9. echo ('Registro no encontrado');
  10. }
  11. else{
  12. return $result;
  13.   }
  14.   }

y busqueda.php

Código PHP:
Ver original
  1. include_once("pedido.php");
  2.  
  3. $p=new Pedido;
  4. $busId = 33;
  5. $busCiudad = 'Medellin';
  6. $lista= $p->mostrarConsulta($busId $busCiudad);
  7. ?>
  8.  
  9. <table style="border:1px solid #ccc; color:#000;width:800px;">
  10. <tr style="background:#3399FF;">
  11. <td>Pedido No.</td>
  12. <td>Ciudad<br/></td>
  13. <td>Fecha </td>
  14. <td>Encargado</td>
  15. <td>Observaciones</td>
  16. <td>Generar PDF</td>
  17. </tr>
  18. <?php
  19.  while($row = mysqli_fetch_array($lista)){
  20.   echo "<tr>";
  21.   echo "<td>".$row['Id']."</td>";
  22.   echo "<td>".$row['Ciudad']."</td>";
  23.   echo "<td>".$row['Fecha']."</td>";
  24.   echo "<td>".$row['Nombres']."</td>";
  25.     echo "<td>".$row['Observaciones']."</td>";
  26.   echo "</tr>";
  27.  }
  28. ?>
  29. </table>

Pues cuando busco solo por Id todo muy bien, y me trae los datos, pero cuando pongo a buscar por id y por ciudad me bota el siguiente error

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\Apache\htdocs\...busqueda.php on line 23 y no entiendo porque, si alguien me puede ayudar muchas gracias!!
  #2 (permalink)  
Antiguo 12/04/2013, 09:38
 
Fecha de Ingreso: noviembre-2011
Mensajes: 117
Antigüedad: 13 años
Puntos: 2
Respuesta: Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boo

Es que te falta una coma en la función cuando envías los parámetros:

$lista= $p->mostrarConsulta($busId, $busCiudad);

Última edición por eamanesims; 12/04/2013 a las 09:44
  #3 (permalink)  
Antiguo 12/04/2013, 09:56
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 12 años
Puntos: 2
Respuesta: Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boo

muchas gracias, ya le puse la coma, sin embargo me sigue saliendo el mismo error

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\

  #4 (permalink)  
Antiguo 12/04/2013, 10:20
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 12 años
Puntos: 2
Respuesta: Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boo

bueno ps esta es la clase de pedido

Código PHP:
Ver original
  1. <?php
  2. include_once("conexionmysql.php");
  3.  
  4. class Pedido{
  5.    
  6.  
  7.    
  8. //constructor
  9. function Pedido(){
  10. }
  11.  
  12.  
  13. function mostrarConsulta($busId,$busCiudad){
  14.   $sql = new Mysql;
  15.   $sql->connect();
  16.   $query = "select * from pedidos where Id = $busId and Ciudad=$busCiudad";
  17.   if($result = $sql->query($query))
  18. {
  19.    $name = mysqli_result($result,0,'name');
  20. }
  21. else
  22. {
  23.    echo($query.' '.mysqli_error());
  24. }
  25.   $sql->close();
  26. if (!$result){
  27. return false;
  28. echo ('Registro no encontrado');
  29. }
  30. else{
  31. return $result;
  32.   }
  33.   }
  34.  
  35.   }  
  36.  
  37.    
  38.  
  39. ?>


Código PHP:
Ver original
  1. include_once("pedido.php");
  2.  
  3. $p=new Pedido;
  4. $busId = 33;
  5. $busCiudad = 'Medellin';
  6. $lista= $p->mostrarConsulta($busId,$busCiudad);
  7. ?>
  8.  
  9. <table style="border:1px solid #ccc; color:#000;width:800px;">
  10. <tr style="background:#3399FF;">
  11. <td>Pedido No.</td>
  12. <td>Ciudad<br/></td>
  13. <td>Fecha </td>
  14. <td>Encargado</td>
  15. <td>Observaciones</td>
  16. <td>Generar PDF</td>
  17. </tr>
  18. <?php
  19.  while($row = mysqli_fetch_array($lista)){
  20.   echo "<tr>";
  21.   echo "<td>".$row['Id']."</td>";
  22.   echo "<td>".$row['Ciudad']."</td>";
  23.   echo "<td>".$row['Fecha']."</td>";
  24.   echo "<td>".$row['Nombres']."</td>";
  25.     echo "<td>".$row['Observaciones']."</td>";
  26.   echo "</tr>";
  27.  }
  28. ?>
  29. </table>

y me bota el siguiente error y no se que pueda ser, creo q el problema radica en la variable $lista o no se muy bn, quien me pueda ayudar gracias

Warning: mysqli_error() expects exactly 1 parameter, 0 given in D:\Apache\htdocs\......pedido.php on line 87
select * from pedidos where Id= 33 and Ciudad=Medellin
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\Apache\htdocs\............\busqueda.php on line 21
  #5 (permalink)  
Antiguo 12/04/2013, 10:23
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boo

Si la ciudad es de tipo varchar va entre comillas:

Código PHP:
Ver original
  1. $query = "select * from pedidos where Id= $busId and Ciudad='$busCiudad'";

Según esto si debe ir así:

Código PHP:
Ver original
  1. $busId = 33;
  2. $busCiudad = 'Medellin';
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 12/04/2013, 10:26
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años, 8 meses
Puntos: 47
Respuesta: Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boo

Cita:
Iniciado por andresdzphp Ver Mensaje
Si la ciudad es de tipo varchar va entre comillas:

Código PHP:
Ver original
  1. $query = "select * from pedidos where Id= $busId and Ciudad='$busCiudad'";
Para empezar toma en cuenta la observación que te hacen en el post que cito y te comentó andresdzphp, ya que sin duda el campo ciudad es varchar por lo que debe ir entre comillas simples.

Además creo que la conexion no pertenece a la clase donde queres hacer la inserción por lo que debes pasarle como parametro a la funcion la instancia de conexion....
  #7 (permalink)  
Antiguo 12/04/2013, 10:34
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 12 años
Puntos: 2
Respuesta: Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boo

chicos muchisimas gracias! si era el Ciudad='$busCiudad' de vdd que ya tenia dolor de cabeza muchas gracias a andresdzphp y a alex1084 y a eamanesims por su colaboracion cada dia aprendo mucho mas gracias a uds
  #8 (permalink)  
Antiguo 12/04/2013, 11:03
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años, 8 meses
Puntos: 47
Respuesta: Duda con mysqli_fetch_array() expects parameter 1 to be mysqli_result, boo

Marca como solucionado el tema entonces

Etiquetas: boolean, expects, mysql, parameter, registro, 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 09:56.