fatal error call to a member function prepare() on boolean in functions.php online 32

publicado por: Anonymous

Estoy haciendo un sistema de noticias anda perfecto en apache y en un servidor on line. Este error surge al hacer funcionar el sitio en un servidor local de windows iis puede ser las versiones de php? tiene la 5.6

$bd_config = array(

        'basedatos' => 'noticias',
        'usuario' => 'root',
        'pass' => '****'

         );


$noticias_config = array(

        'post_por_pagina' => '3',
        'carpeta_imagenes' => 'img/'

         );

LINEA 32 ————————————– function.php

function obtener_post($post_por_pagina, $conexion) {

    $inicio = (pagina_actual() > 1) ? pagina_actual() * $post_por_pagina - $post_por_pagina: 0;
    $sentencia = $conexion->prepare("SELECT SQL_CALC_FOUND_ROWS * FROM articulos LIMIT $inicio, $post_por_pagina"); 
    $sentencia->execute();
    return $sentencia->fetchAll();

}

solución

Cuando la conexión falla, recibes como respuesta un false, luego tu conexión no es un objeto PDO o MySQLi, sino un booleano.

Tienes que verificar el valor del objeto $conexión.

<?php
$conexión = mysqli_connect("127.0.0.1", "mi_usuario", "mi_contraseña", "mi_bd");

if (!$conexión) {
    echo "Error: No se pudo conectar a MySQL." . PHP_EOL;
    echo "errno de depuración: " . mysqli_connect_errno() . PHP_EOL;
    echo "error de depuración: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

(ejemplo tomado de mysqli-connect)

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *