Saltar al contenido

errno

En este artículo, nos centraremos en la función mysqli_errno() de PHP, que devuelve el código de error numérico de la última operación de MySQLi. Proporcionaremos una descripción general de la función, su funcionamiento y ejemplos prácticos.

Introducción a la función mysqli_errno()

La función mysqli_errno() es una función integrada de PHP que devuelve el código de error numérico de la última operación de MySQLi. Es útil cuando necesitas manejar errores en tu código MySQLi y tomar las acciones adecuadas en función del código devuelto.

Cómo usar la función mysqli_errno()

El uso de la función mysqli_errno() es sencillo. Requiere un objeto de conexión MySQLi válido como parámetro. Aquí tienes un ejemplo:

¿Cómo usar la función mysqli_errno()?

php
<?php
$mysqli = mysqli_connect("localhost", "username", "password", "database");

if (!$mysqli) {
    die("Connection failed: " . mysqli_connect_error());
}

$query = "SELECT * FROM my_table";
$result = mysqli_query($mysqli, $query);

if (!$result) {
    $error_code = mysqli_errno($mysqli);
    echo "Failed to execute query. Error code: " . $error_code;
    exit();
}

mysqli_close($mysqli);
?>

En este ejemplo, primero verificamos que la conexión se haya realizado correctamente. Luego ejecutamos una consulta utilizando la función mysqli_query() y almacenamos el resultado en una variable. Comprobamos si hubo un error en la consulta mediante la condición !$result. Si hubo un error, llamamos a mysqli_errno($mysqli) para obtener el código de error numérico asociado a la última operación de MySQLi. Finalmente, mostramos el código de error y salimos del script.

Uso avanzado

La función mysqli_errno() también puede utilizarse en escenarios más avanzados. Cuando se trabaja con múltiples conexiones, debes pasar el objeto MySQLi específico a la función para recuperar el código de error de esa conexión en particular. Aquí tienes un ejemplo:

Uso avanzado de PHP mysqli_errno()

php
<?php
$mysqli1 = mysqli_connect("localhost", "username", "password", "database1");
$mysqli2 = mysqli_connect("localhost", "username", "password", "database2");

if (!$mysqli1 || !$mysqli2) {
    die("One or more connections failed.");
}

$query = "SELECT * FROM my_table";
$result1 = mysqli_query($mysqli1, $query);
$result2 = mysqli_query($mysqli2, $query);

if (!$result1) {
    $error_code = mysqli_errno($mysqli1);
    echo "Failed to execute query on connection 1. Error code: " . $error_code;
    exit();
}

if (!$result2) {
    $error_code = mysqli_errno($mysqli2);
    echo "Failed to execute query on connection 2. Error code: " . $error_code;
    exit();
}

mysqli_close($mysqli1);
mysqli_close($mysqli2);
?>

En este ejemplo, creamos dos objetos MySQLi y nos conectamos a dos bases de datos MySQL diferentes. Luego ejecutamos la misma consulta utilizando cada conexión y almacenamos el resultado en una variable. Comprobamos si hubo un error en cada consulta mediante la condición !$result. Si hubo un error, llamamos a mysqli_errno() para el objeto MySQLi correspondiente y obtenemos el código de error asociado a esa conexión específica. Finalmente, mostramos el código de error y salimos del script.

Nota: mysqli_errno() devuelve únicamente un código numérico. Para obtener un mensaje de error legible por humanos, utiliza la función complementaria mysqli_error($mysqli). Los códigos de error de MySQL más comunes incluyen 1045 (Acceso denegado) y 1049 (Base de datos desconocida). Consulta la documentación oficial de códigos de error de MySQL para obtener una lista completa.

Conclusión

En conclusión, la función mysqli_errno() es una herramienta útil para manejar errores en tu código MySQLi y tomar las acciones adecuadas en función del código devuelto. Al verificar las conexiones, pasar el objeto de conexión correcto e interpretar los códigos numéricos, puedes crear consultas MySQLi más robustas y flexibles.

Práctica

¿Qué hace la función errno de PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.