2016-12-25 2 views
0

Я хочу создать пользовательскую систему ошибок в MySQLi, для этого мне понадобится список со всеми кодами ошибок и описание причин их возникновения.Где найти все возможные ошибки в MySQLi

Я искал повсюду в Интернете, но не может найти что-нибудь на php.net


Например, если я создаю новый объект, где хозяин недействителен:

$mysqli = new mysqli('invalid_host', 'root', '', 'db'); 

то ошибка код будет 2002, что означает, что он не смог найти адрес.

оригинальный ошибка выглядит следующим образом:

php_network_getaddresses: getaddrinfo не удалось: имя_узел, ни servname при условии, или не известен

Но я хотел бы его на дисплей:

Ошибка подключения! Не удалось подключиться к базе данных, это вызвано неправильным именем хоста: «invalid_host», который, кажется, не может быть подключаемым или pingable! (2002)


Для того, чтобы сделать это, мне нужно будет знать все ошибки, которые могут в MySQLi больше появляться, я не нашел список еще, так что я прошу здесь, если вы знаете о списке


Если вам интересно, как я собираюсь это сделать, я планирую иметь массив, который будет содержать от:

$error_list = [ 
    2002 => [ 
     'category' => 'connection_errors', 
     'error_title' => 'Connection error!', 
     'error_content' => 'There was an problem connecting to the database, this is caused by your invalid hostname: "invalid_host" which seems to not be connectable or pingable!', 
     'error_code' => '2002', 
     'error_description' => 'This error is occurred by invalid hostname. Why is this error occurring? It is occurring because you have entered invalid hostname, such as: "msql. example .com"' 
    ] 

    // And so on 
]; 

Я был бы очень рад, если бы кто-нибудь знал, где найти такой список, этот проект будет передан в будущем, и когда он будет закончен, я добавлю комментарий со ссылкой.


Проект также может сделать более легкие и безопасные (подготовленные) запросы на сервер MySQL с использованием MySQLi.

+1

http://dev.mysql.com/doc/refman/8.0/ru/error-messages-server.html – JimL

+0

и ... https://dev.mysql.com/doc/refman/5.5/ru /error-messages-client.html –

+0

Должен ли я искать PHP MySQLi @ JimL? –

ответ

0

Но я хочу, чтобы отобразить:

Вы не хотите. Просто потому, что you're not the sole user of your site.

Для пользователя сайта это все еще тарабарщина. Не говоря уже о том, что честный пользователь будет довольно озадачен, обвиняется в «предоставлении недействительного имени хоста»!
Если вы принимаете любой зрелый сайт, он никогда не показывает ничего подобного. Просто обобщенная страница ошибки говорит: «Ошибка, мы уже на ней».

Для программиста все это помимо фактического сообщения об ошибке - это просто бесполезный мусор, который помещает актуальную и полезную информацию.Вместо всего этого бесполезного материала лучше добавить трассировку стека, фактический SQL-запрос, некоторые критические переменные. Опять же, учитесь у больших мальчиков: хорошая структура покажет вам не только сообщение об ошибке, но даже фрагмент кода, где происходит ошибка.

При всем моем уважении я понимаю вашу идею по улучшению mysqli. Но сначала вы должны проверить свои помещения. Очень важно, чтобы запустил веб-сайт в течение некоторого времени, чтобы понять реальную цель сообщения об ошибках.

Предположите, что я буду отвечать за ваш сайт после того, как вы закончите его, и он выпустил такую ​​ошибку. Даже если бы я понятия не имел, что означает сообщение об ошибке, я могу это сделать. Исходное сообщение об ошибке даст мне 1000 результатов, в то время как ваш пользовательский даст мне ничего. Пожалуйста, не пересказывайте сообщение об ошибке своими словами - вы можете потерять важную часть. Также вы не должны помешать сообщению об ошибке некоторыми бесполезными описаниями. Просто оставьте это в покое и убедитесь, что программист прочитает его.

Смежные вопросы