Problema con procedimientos almacenados mysql

  • Autor Autor Jesús Rojas
  • Fecha de inicio Fecha de inicio
Jesús Rojas

Jesús Rojas

Zeta
Verificación en dos pasos activada
Hola betas. Estoy que realizo una paginacion y hasta el momento todo está bien. Sin embargo cuando quiero usar procedimiento almacenados me sale error.

PHP:
    $sql_prd = "select * from video";
    $result_prd = mysqli_query($conexion, $sql_prd) or die("ERROR");

    $total_registros = mysqli_num_rows($result_prd);

    $total_paginas = ceil($total_registros / $cantidad_resultados_por_pagina);

    $result = mysqli_query($conexion, "select * from video LIMIT $empezar_desde, $cantidad_resultados_por_pagina");

    while ($datos = mysqli_fetch_array($result)) {
        ?>
        <span class="persona">
            <p><strong><?php echo $datos['cNombre']; ?></strong> <br>

        </span>

        <?php
    };
    ?>

Y bueno cuando quiero reemplazar las consultas por procedimientos almacenados.
PHP:
$sql_prd = "call sp_listarvideos()";

Me sale el siguiente error:
proced.webp

Espero puedan ayudarme. Muchas gracias.
 
Solución:
PHP:
mysqli_fetch_array($result, MYSQLI_ASSOC);
 
Pues eso significa que es boolean(False) debido a que la consulta SQL tiene un error, a simple vista diría que la query debería ser
PHP:
mysqli_query($conexion, "select * from video LIMIT $cantidad_resultados_por_pagina OFFSET $empezar_desde");
si el error persiste, agrega justo después de la query
PHP:
mysqli_error()
para que sepas cual es el error
 
Como ya te comentaron, la consulta ha de estar dando un error por eso es false. Imprime tu consulta y ejecutala en PHPMyAdmin a ver que error te sale.

Saludos.
 
Gracias por responder, estaba tratando de reducir un poco de código, usando procedimientos almacenados.

Ahora tengo un problema, al usar dos procedimientos en un mismo php, me sale ERROR.
PHP:
$result = mysqli_query($conexion, "CALL SP_LISTARVIDEOS")or die("ERROR1");
    
    $total_registros = mysqli_num_rows($result);

    $total_paginas = ceil($total_registros / $cantidad_resultados_por_pagina);
    
    $result_prd = mysqli_query($conexion, "CALL PAGINACION('$empezar_desde','$cantidad_resultados_por_pagina')") or die("ERROR2");

Y me imprime el resultado: ERROR2.
 
Pues lo mismo, imprime la query y ejecutala en PHPMyAdmin para que veas cuál es el error.
 
Atrás
Arriba