errno
В этой статье мы рассмотрим функцию mysqli_errno() в PHP, которая возвращает числовой код ошибки для последней операции MySQLi. Мы предоставим обзор функции, принцип её работы и практические примеры.
Введение в функцию mysqli_errno()
Функция mysqli_errno() — это встроенная функция PHP, возвращающая числовой код ошибки для последней операции MySQLi. Она полезна, когда необходимо обрабатывать ошибки в коде MySQLi и предпринимать соответствующие действия на основе возвращённого кода.
Как использовать функцию mysqli_errno()
Использование функции mysqli_errno() довольно просто. В качестве параметра она принимает валидный объект подключения MySQLi. Вот пример:
Как использовать функцию mysqli_errno()?
<?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);
?>В этом примере мы сначала проверяем успешность подключения. Затем выполняем запрос с помощью функции mysqli_query() и сохраняем результат в переменную. Мы проверяем наличие ошибки в запросе с помощью условия !$result. Если ошибка возникла, мы вызываем mysqli_errno($mysqli), чтобы получить числовой код ошибки, связанный с последней операцией MySQLi. После этого выводим код ошибки и завершаем скрипт.
Расширенное использование
Функцию mysqli_errno() можно также использовать в более сложных сценариях. При работе с несколькими подключениями необходимо передать функции конкретный объект MySQLi, чтобы получить код ошибки именно для этого подключения. Вот пример:
Расширенное использование PHP mysqli_errno()
<?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);
?>В этом примере мы создаём два объекта MySQLi и подключаемся к двум разным базам данных MySQL. Затем мы выполняем один и тот же запрос с помощью каждого подключения и сохраняем результат в переменную. Мы проверяем наличие ошибки в каждом запросе с помощью условия !$result. Если ошибка возникла, мы вызываем mysqli_errno() для соответствующего объекта MySQLi, чтобы получить код ошибки, связанный с этим конкретным подключением. После этого выводим код ошибки и завершаем скрипт.
Примечание:
mysqli_errno()возвращает только числовой код. Чтобы получить сообщение об ошибке, понятное человеку, используйте вспомогательную функциюmysqli_error($mysqli). К распространённым кодам ошибок MySQL относятся1045(Доступ запрещён) и1049(База данных не найдена). Полный список см. в официальной документации по кодам ошибок MySQL.
Заключение
Подводя итог, функция mysqli_errno() — это полезный инструмент для обработки ошибок в коде MySQLi и предпринятия соответствующих действий на основе возвращённого кода. Проверяя подключения, передавая правильный объект подключения и интерпретируя числовые коды, вы сможете создавать более надёжные и гибкие запросы MySQLi.
Практика
Что делает функция errno в PHP?