Lenguaje PHP

Fatal error Call to undefined method mysqli error()

Fatal error Call to undefined method mysqli error() . En este artículo veremos cómo dar solución a este común error de PHP por la mala implementación del script. Se conecta con total normalidad a la base de datos, pero a la hora de ejecutar la consulta de ingresar nuevo registro, muestra la siguiente leyenda de error.

Fatal error Call to undefined method mysqli error()

Fatal error Call to undefined method
Fatal error Call to undefined method

Código que muestra error.

<?php //Datos de conexión a la base de datos
$host = 'localhost'; 
$basedatos = 'peru'; 
$usuario= 'root'; 
$contrasena= 'root';
    // Abrir conexion
    $conexion = new mysqli($host, $usuario, $contrasena, $basedatos);

    //Revisar conexion
    if (mysqli_connect_errno()) {
        printf("Conexion fallida: %s\n", mysqli_connect_error());
        exit();
    }
    $stmt = $conexion->stmt_init();   
    // sql consulta
    $consulta = "INSERT INTO lista ('nombre','apellido','curso') VALUES (?, 1, ?)";
    // Crear una declaración 
    $stmt = $conexion->prepare($consulta) or die($conexion->error());
?>

Para los que llegaron a esta página por este error.  y les salía la siguiente leyenda en su archivo PHP. El error que usted muestra es.

Fatal error: Call to undefined method mysqli::error()

Esto es porque necesitamos acceder al error como variable no como función, veamos un ejemplo de cómo aplicar dicho cambio. El código correcto es el siguiente.

Paso #01 Solución: Colocando como variable

<?php //Datos de conexión a la base de datos
$host = 'localhost'; 
$basedatos = 'basedatos'; 
$usuario= 'root'; 
$contrasena= 'root';
    // Abrir conexion
    $db = new mysqli($host, $usuario, $contrasena, $basedatos);

    //Revisar conexion
    if (mysqli_connect_errno()) {
        printf("Conexion fallida: %s\n", mysqli_connect_error());
        exit();
    }
    $stmt = $db->stmt_init();   
    // sql consulta
    $consulta = "INSERT INTO login (nombre,apellido,curso) VALUES ('Juan', 'Flores','Photoshop')";
    // Crear una declaración 
    $stmt = $db->prepare($consulta);

// Añadimos una condicional para la insercion de registros	
if ($db->query($consulta) === TRUE) {
    echo "Nuevo registro creado";
} else {
    echo "Error: " . $consulta . "<br>" . $db->error;
}


// Reestructurando al mensaje de error
if(! empty( $db->error ) ){
   echo $db->error;  // no funcion para llamar al error
}


?>

Aquí la solución de este inconveniente en la programación PHP a la hora de insertar registros a la base de datos.

// Reestructurando al mensaje de error 
if(! empty( $db->error ) ){ 
echo $db->error; 
// no funcion para llamar al error
 }

Espero que este pequeño artículo les aya servido de mucho.

Fatal error Call to undefinedmethod mysqli error
Fatal error Call to undefinedmethod mysqli error

Referencia

Insert into PHP

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba