Portada » Lenguaje PHP » Fatal error Call to undefined method mysqli error()

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

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Deja un comentario

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

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad