Где найти все возможные ошибки в MySQLi

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

Я искал по всей сети, но ничего не могу найти на php.net


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

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

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

Исходная ошибка выглядит так:

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

Но я бы хотел, чтобы это отображалось:

Ошибка соединения! При подключении к базе данных произошла ошибка, вызванная неверным именем хоста: «invalid_host», который, по-видимому, не может быть подключен или проверен! (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.

0

Решение

Но я бы хотел, чтобы это отображалось:

Ты не хочешь этого. Просто потому что вы не единственный пользователь вашего сайта.

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

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

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

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]