2016-12-25 4 views
0

Ich möchte ein benutzerdefiniertes Fehlersystem in MySQLi erstellen, hierfür benötige ich eine Liste mit allen Fehlercodes und eine Beschreibung, warum sie verursacht werden.Wo finde ich alle möglichen Fehler in MySQLi

Ich habe alle über das Web durchsucht, aber nichts auf php.net


Zum Beispiel finden, wenn ich ein neues Objekt erstellen, in dem der Host ungültig ist:

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

dann der Fehler Code wird 2002 sein, was bedeutet, dass es die Adresse nicht finden konnte.

Der ursprüngliche Fehler wie folgt aussieht:

php_network_getaddresses: getaddrinfo failed: nodename noch servname zur Verfügung gestellt, oder nicht bekannt

Aber ich würde es angezeigt werden soll:

Verbindungsfehler! Es gab ein Problem bei der Verbindung mit der Datenbank, dies wird durch Ihren ungültigen Hostnamen verursacht: "invalid_host", der nicht verbunden oder pingbar zu sein scheint! (2002)


Um das zu tun, dass ich werden alle Fehler kennen, die in MySQLi occure kann, habe ich keine Liste noch so fand ich bitte hier, wenn Sie über eine Liste wissen


Wenn Sie sich fragen, wie ich werde es tun ich ein Array haben bin der Planung, die enthalten:

$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 
]; 

Ich würde mich sehr freuen, wenn jemand weiß, wo eine solche Liste zu finden ist, dieses Projekt wird in Zukunft geteilt werden, und wenn es fertig ist, füge ich einen Kommentar mit einem Link hinzu.


Das Projekt kann mit MySQLi auch einfachere und sicherere (vorbereitete) Anfragen an einen MySQL-Server stellen.

+1

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

+0

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

+0

Sollte ich nicht nach PHP MySQLi @JimL suchen? –

Antwort

0

Aber ich würde es angezeigt werden soll:

Sie es nicht wollen. Einfach weil you're not the sole user of your site.

Für einen Website-Benutzer ist es immer noch ein Kauderwelsch. Ganz zu schweigen davon, dass ein ehrlicher Benutzer eher verwirrt ist, wenn er beschuldigt wird, "den ungültigen Hostnamen zu vergeben"!
Wenn Sie irgendeine ausgereifte Website nehmen, zeigt es nie so etwas. Nur eine generalisierte Fehlerseite sagt "Es ist ein Fehler, wir sind schon dran".

Für einen Programmierer, all diese Sachen neben der eigentlichen Fehlermeldung ist nur nutzloser Müll, der die tatsächlichen und nützlichen Informationen wirft.Anstatt all dieser nutzlosen Sachen, fügen Sie besser einen Stack-Trace, die eigentliche SQL-Abfrage, einige kritische Variablen hinzu. Erneut lernen Sie von großen Jungs: gutes Framework zeigt Ihnen nicht nur Fehlermeldung, sondern auch das Code-Snippet, wo der Fehler auftritt.

Mit dem gebührenden Respekt verstehe ich Ihre Idee, mysqli zu verbessern. Aber Sie müssen zuerst Ihre Räumlichkeiten überprüfen. Es ist sehr wichtig, eine Live-Site für einige Zeit zu laufen, um den wahren Zweck der Fehlerberichterstattung zu verstehen.

Stellen Sie sich vor, ich bin verantwortlich für Ihre Website, nachdem Sie es abgeschlossen haben, und es gibt diese Art von Fehler aus. Selbst wenn ich keine Ahnung hätte, was die Fehlermeldung bedeutet, kann ich es googlen. Die ursprüngliche Fehlermeldung gibt mir 1000 Ergebnisse, während Ihre benutzerdefinierte gibt mir nichts. Bitte teilen Sie die Fehlermeldung nicht mit Ihren eigenen Worten mit - Sie könnten den wichtigen Teil verlieren. Auch sollten Sie die Fehlermeldung nicht mit einigen nutzlosen Beschreibungen überschütten. Lassen Sie es einfach und stellen Sie sicher, dass ein Programmierer es lesen wird.