Inhaltsverzeichnis
Antwortinhalt:
Heim Backend-Entwicklung PHP-Tutorial Auf der Seite wird ein unerwarteter Datenbankfehler (MySQL) angezeigt?

Auf der Seite wird ein unerwarteter Datenbankfehler (MySQL) angezeigt?

Aug 04, 2016 am 09:21 AM
ci mysql php

Wie kann verhindert werden, dass die Datenbank (MySQL) unerwartete Fehler im Framework meldet?
Zum Beispiel habe ich hier zwei Excel-Tabellen-Upload-Funktionen. Natürlich sind die von mir an beiden Stellen geschriebenen Excel-Empfangsdatenverarbeitungsmethoden unterschiedlich, aber wie Sie wissen, dürfen die Namen einiger Felder in der Datenbank nicht leer sein Wenn zwei lokale Excel-Dateien austauschbar hochgeladen werden, wird zu diesem Zeitpunkt ein SQL-Fehler angezeigt, wie unten gezeigt:

Auf der Seite wird ein unerwarteter Datenbankfehler (MySQL) angezeigt?

  1. Wäre es nicht zu mühsam, wenn ich für alle empfangenen Felddaten eine entsprechende Datenbankbeurteilung vornehmen müsste?

  2. Meine Funktion zum Hochladen von Excel-Tabellen entspricht nur einer Methode, nämlich eins zu eins. Da meine Excel-Struktur unterschiedlich ist, entspricht eine Methode einer Art der Excel-Strukturverarbeitung.

Daher möchte ich eine Lösung finden, die das Erscheinen des SQL-Fehlers auf der Seite verhindern kann. Bitte geben Sie mir einen Rat.

Antwortinhalt:

Wie kann verhindert werden, dass die Datenbank (MySQL) unerwartete Fehler im Framework meldet?
Zum Beispiel habe ich hier zwei Excel-Tabellen-Upload-Funktionen. Natürlich sind die von mir an beiden Stellen geschriebenen Excel-Empfangsdatenverarbeitungsmethoden unterschiedlich, aber wie Sie wissen, dürfen die Namen einiger Felder in der Datenbank nicht leer sein Wenn zwei lokale Excel-Dateien austauschbar hochgeladen werden, wird zu diesem Zeitpunkt ein SQL-Fehler angezeigt, wie unten gezeigt:

Auf der Seite wird ein unerwarteter Datenbankfehler (MySQL) angezeigt?

  1. Wäre es nicht zu mühsam, wenn ich für alle empfangenen Felddaten eine entsprechende Datenbankbeurteilung vornehmen müsste?

  2. Meine Funktion zum Hochladen von Excel-Tabellen entspricht nur einer Methode, nämlich eins zu eins. Da meine Excel-Struktur unterschiedlich ist, entspricht eine Methode einer Art der Excel-Strukturverarbeitung.

Daher möchte ich eine Lösung finden, die das Erscheinen des SQL-Fehlers auf der Seite verhindern kann. Bitte geben Sie mir einen Rat.

Es ist nicht so, dass Datenbankfehler nicht blockiert werden können, aber das ist nicht notwendig und wird weitere Probleme verursachen. Da es sinnvoll ist, dass ein bestimmtes Feld nicht Null sein kann, was sollten Sie tun, wenn Sie bei der späteren Verarbeitung an dieser Stelle ankommen, wenn Sie darauf bestehen, es einzugeben? Daraus ist auch ersichtlich, dass Sie die Gültigkeit der Daten vor dem Einfügen nicht überprüft haben. Die hochgeladenen Daten entsprechen den vom Benutzer eingegebenen Daten und die Eingabe schmutziger Daten muss verhindert werden.
Die übliche Verarbeitungslogik ist:
Lesen Sie die CSV-Datei Zeile für Zeile und verwenden Sie Überprüfungsregeln, um die Daten zu überprüfen. Wenn sie in Ordnung sind, werden sie in $success gespeichert, andernfalls werden sie in $bad gespeichert. Wenn $bad nicht leer ist, muss der Benutzer zunächst in der Anzeigeliste das Verwerfen illegaler Daten bestätigen. Einige durchlaufen die Daten direkt in $success und fügen sie ein. Anschließend wird ein Bericht darüber erstellt, welche Daten eingefügt wurden und welche nicht verarbeitet wurde.

Da Sie CSV in mehreren Formaten haben, sollten Sie natürlich prüfen, ob die aktuell hochgeladene CSV mit der Verarbeitungsmethode übereinstimmt. Was ist sonst, wenn sie tatsächlich gespeichert wird? Ich empfehle wirklich nicht, faul zu sein.

Verwenden Sie einfach try {}catch (Exception $e){}, um Ausnahmen abzufangen

Für Frameworks sollten Sie den Debug-Modus deaktivieren können und es sollte möglich sein, ihn automatisch zu blockieren.
Wenn Sie das leere Feld im Code manuell auf den Standardwert setzen möchten, können Sie selbst einen Filter schreiben. Der Filter ermittelt, ob es leer ist, und gibt in diesem Fall einen Standardwert an.

1. Sie können beim Datenbankdesign einen Standardwert wie 0 definieren. 2. Beim Einfügen dieser Daten in das Programm stellen Sie sicher, dass das Feld user_id einen Wert hat.

Wenn dieses Feld in der Produktion null sein darf, dann ändern Sie die Tabelle

Wenn dies nicht zulässig ist, weist die Fehlermeldung darauf hin, dass ein Problem mit den Daten vorliegt, und das Ignorieren ist gefährlich. Sie sollten

sicherstellen, dass die Quelldaten nicht null sind, anstatt grob zu ignorieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MySQL: Die einfache Datenverwaltung für Anfänger MySQL: Die einfache Datenverwaltung für Anfänger Apr 09, 2025 am 12:07 AM

MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Kann ich das Datenbankkennwort in Navicat abrufen? Kann ich das Datenbankkennwort in Navicat abrufen? Apr 08, 2025 pm 09:51 PM

Navicat selbst speichert das Datenbankkennwort nicht und kann das verschlüsselte Passwort nur abrufen. Lösung: 1. Überprüfen Sie den Passwort -Manager. 2. Überprüfen Sie Navicats "Messnot Password" -Funktion; 3.. Setzen Sie das Datenbankkennwort zurück; 4. Kontaktieren Sie den Datenbankadministrator.

So erstellen Sie Navicat Premium So erstellen Sie Navicat Premium Apr 09, 2025 am 07:09 AM

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

Wie kann ich das Datenbankkennwort in Navicat für Mariadb anzeigen? Wie kann ich das Datenbankkennwort in Navicat für Mariadb anzeigen? Apr 08, 2025 pm 09:18 PM

Navicat für MariADB kann das Datenbankkennwort nicht direkt anzeigen, da das Passwort in verschlüsselter Form gespeichert ist. Um die Datenbanksicherheit zu gewährleisten, gibt es drei Möglichkeiten, Ihr Passwort zurückzusetzen: Setzen Sie Ihr Passwort über Navicat zurück und legen Sie ein komplexes Kennwort fest. Zeigen Sie die Konfigurationsdatei an (nicht empfohlen, ein hohes Risiko). Verwenden Sie Systembefehlsleitungs -Tools (nicht empfohlen, Sie müssen die Befehlszeilen -Tools beherrschen).

Navicat kann keine Verbindung zu MySQL/Mariadb/PostgreSQL und anderen Datenbanken herstellen Navicat kann keine Verbindung zu MySQL/Mariadb/PostgreSQL und anderen Datenbanken herstellen Apr 08, 2025 pm 11:00 PM

Häufige Gründe, warum Navicat keine Verbindung zur Datenbank und ihren Lösungen herstellen kann: 1. Überprüfen Sie den laufenden Status des Servers. 2. Überprüfen Sie die Verbindungsinformationen; 3. Passen Sie die Firewall -Einstellungen ein; 4. Konfigurieren Sie den Remote -Zugriff; 5. Fehlerbehebung mit Netzwerkproblemen; 6. Berechtigungen überprüfen; 7. Sicherheitskompatibilität sicherstellen; 8. Fehlerbehebung bei anderen Möglichkeiten.

So erstellen Sie eine neue Verbindung zu MySQL in Navicat So erstellen Sie eine neue Verbindung zu MySQL in Navicat Apr 09, 2025 am 07:21 AM

Sie können eine neue MySQL -Verbindung in Navicat erstellen, indem Sie den Schritten folgen: Öffnen Sie die Anwendung und wählen Sie eine neue Verbindung (Strg N). Wählen Sie "MySQL" als Verbindungstyp. Geben Sie die Hostname/IP -Adresse, den Port, den Benutzernamen und das Passwort ein. (Optional) Konfigurieren Sie erweiterte Optionen. Speichern Sie die Verbindung und geben Sie den Verbindungsnamen ein.

Navicat stellt eine Verbindung zu Datenbankfehlercode und Lösung her Navicat stellt eine Verbindung zu Datenbankfehlercode und Lösung her Apr 08, 2025 pm 11:06 PM

Häufige Fehler und Lösungen beim Anschließen mit Datenbanken: Benutzername oder Kennwort (Fehler 1045) Firewall -Blocks -Verbindungsverbindung (Fehler 2003) Timeout (Fehler 10060) Die Verwendung von Socket -Verbindung kann nicht verwendet werden (Fehler 1042).

So stellen Sie eine Verbindung zu einem lokalen MySQL in Navicat her So stellen Sie eine Verbindung zu einem lokalen MySQL in Navicat her Apr 09, 2025 am 07:45 AM

Um eine Verbindung zu einer lokalen MySQL -Datenbank mit Navicat herzustellen: Erstellen Sie eine Verbindung und legen Sie den Verbindungsnamen, den Host, den Port, den Benutzernamen und das Passwort fest. Testen Sie die Verbindung, um sicherzustellen, dass die Parameter korrekt sind. Speichern Sie die Verbindung. Wählen Sie eine neue Verbindung aus der Verbindungsliste aus. Doppelklicken Sie auf die Datenbank, mit der Sie eine Verbindung herstellen möchten.

See all articles