Как получить подробный отчет об ошибке, когда скрипт PHP-MySQL не удается?
Вопрос
Как получить подробное описание ошибки во время сценария PHP-MySQL?
У меня есть следующие утверждения, в которых скрипт не удается и отображает пользовательское сообщение об ошибке - содержимое «или Die».
Я хочу получить фактическую ошибку из MySQL (вместо пользовательской ошибки, которую я упомянул), которая дала бы лучшее представление о сценарии - будь то проблема с базой данных или сервером, выпускается и т. Д.
Это код, который у меня есть где мне нужно улучшить сообщение об ошибке
$query = "SELECT * FROM table_name";
$result = mysqli_query($db_conn, $query)
or die('Connected to database, but querying failed');
.
Спасибо!
Решение
Посмотрите на страницу ручной работы для mysqli_Error .В разделе «Процедурный стиль» вы найдете полный пример, который показывает, как настроить соединение базы данных и запрашивать базу данных, оба шага с обработкой ошибок.
Если вы хотите подробную информацию об ошибке из ваших скриптов, вы можете поставить строки
error_reporting( E_ALL );
ini_set('log_errors', true);
ini_set('error_log', '/tmp/php-errors.log');
.
в начале вашего кода.Таким образом, все ошибки, исходящие из PHP, будут записаны в файл журнала.Убедитесь, что путь к файлу журнала существует (/tmp
является только приведенным примером) и является пишенным веб-сервером, в противном случае ошибки будут безмолвно отброшены.
Как сбоку Примечание. Хотя шаблон «or die()
» хорош для небольших примеров, вы не должны использовать его в производстве.
Другие советы
Проверить mysql_error Функция.
Я предпочитаю использовать pdo, а pdo бросать исключение.
Вы можете вставить запрос в страницу запросов на phpmyadmin, то есть если вы его используете.Но это не скажет вам, если ошибки будут переменными