Nueva pregunta

Pregunta:

Fecha: 17-08-2018 08:48:46 (En Español)

Problema con mysqli_fetch_array() en Php Laravel[No resuelta]

Buenas, soy nuevo en el foro, tambien en Php, estoy desarrollando una sistema web (Utilizo Laravel) y al crear un formulario para mostrar imagenes me arroja el siguiente error mysqli_fetch_array() expects parameter 1 to be mysqli_result, array given, ahi va parte del codigo

$conec = DB::select("SELECT * FROM banner WHERE estado = 1 order by orden");
$sql_banner_top = $conec;
Aqui el error --> while($rw_banner_top = mysqli_fetch_array($sql_banner_top)){
Etiquetas: Laravel - MySQL - PHP - PHP MySQLi Votos: 0 - Respuestas: 9 - Vistas: 13 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 18-08-2018 22:18:18 Deberías realizar una validacion antes del while para verificar que la query arrojo resultados

    
    if(mysqli_num_rows($sql_banner_top) >=1 ){ //Ejecuto el while...
    
    


    de esa manera controlas si no hay registros emites la respuesta correspondiente
      Votos: 0 - Link respuesta
     
  • Fecha: 19-08-2018 06:18:11 Buen dia, gracias por responder, ahora me arroja el siguiente error
    mysqli_num_rows() expects parameter 1 to be mysqli_result, array given
    Chequee la tabla y esta bien, si la llamo desde otro formulario trabaja bien, de esta forma
    $sql_banner_top=mysqli_query($con,"select * from banner where estado=1 order by orden ");
    while($rw_banner_top=mysqli_fetch_array($sql_banner_top)){

    lo que pasa es que estoy utilzando laravel y no utilizo mysqli_query, soy nuevo en php y quiero utilizar laravel, gracias de antemano por la ayuda
      Votos: 0 - Link respuesta
     
  • Fecha: 19-08-2018 15:28:27 No creo que sea necesario usar
    mysqli_num_rows() ya que DB::select te retorna una arreglo puedes hacer un count($conec)>0 y recorrerlo con un foreach o si quieres ver qué te arroja hasme un var_dump
      Votos: 2 - Link respuesta
     
  • Fecha: 19-08-2018 15:47:40 Buen punto, al retornar un arreglo el mysqli_num_rows generara un error igual incluso el while tambien pues ya es un arreglo lo que recibes, o al menos eso creo, pues soy mas de Codeigniter   Votos: 0 - Link respuesta
     
  • Fecha: 20-08-2018 12:07:31 yo trabajo mas con laravel hace ya rato y lo que hace en ese punto es retornar un arreglo de datos si no hay nada solo te retorna un arreglo vacio   Votos: 0 - Link respuesta
     
  • Fecha: 23-08-2018 11:31:35 No debes usar el mysqli_fetch_array, la variable $conec, ya esta lista para iterar, es decir es un arreglo.

    Revisa running-queries
      Votos: 0 - Link respuesta
     
  • Fecha: 23-08-2018 13:45:13 amigo este es tu error si revisas lo que le estas pasando?? lee bien el error

    expects parameter 1 to be mysqli_result, array given

    otra cosa por que no utilzas eloquent para crear tu query???
      Votos: 0 - Link respuesta
     
  • Fecha: 24-08-2018 05:47:56 Buen dia, muchas gracias a todos por sus respuestas, ya logre pasar ese error utilizando foreach ($sql_banner_top as $valor) {, pero ahora cuando entra en el ciclo me muestra este error

    Cannot use object of type stdClass as array


    ,anexo el codigo donde da el error

    foreach ($sql_banner_top as $valor) {
    ?>
    <div class="col-lg-3 col-md-4 col-xs-6 thumb">
    <a class="thumbnail" href="#" data-image-id="" data-toggle="modal" data-title="<?php echo $valor['titulo'];?>" data-caption="<?php echo $valor['descripcion'];?>" data-image="../public/img/banner/<?php echo $valor["url_image"];?>" data-target="#image-gallery">
    <img class="img-responsive" src="../public/img/banner/<?php echo $valor["url_image"];?>" alt="Another alt text">
    </a>
    </div>
    <?php

    if ($nums%4==0){
    echo '<div class="clearfix"></div>';
    }
    $nums++;
    }

    titulo, descripcion, url_image son los campos de la tabla banner
      Votos: 0 - Link respuesta
     
  • Fecha: 09-10-2018 14:32:54 estas utilizando eloquent en tus consultas
    ?
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com