Fehlerbehebung bei LOAD_FILE beim Laden von MySQL-Blobs
Versuche, LOAD_FILE zum Laden einer Datei in einen MySQL-Blob zu verwenden, können zu Problemen führen, wie in der Abbildung gezeigt Folgende Abfrage:
INSERT INTO MyTable VALUES('7', LOAD_FILE('Dev:MonDoc.odt'))
Nach dem Login kopieren
Obwohl kein Fehler erkennbar ist, schlägt die Datei fehl in den Blob laden. Um dieses Problem zu beheben, ist es wichtig, die in der MySQL-Dokumentation beschriebenen Bedingungen einzuhalten:
-
Dateispeicherort: Die Datei muss sich auf dem Serverhost befinden und ihren vollständigen Pfad angeben muss angegeben werden.
-
Dateiberechtigungen: Die Datei muss für alle lesbar sein und ihre Größe muss kleiner als max_allowed_packet sein Bytes.
-
Systemvariableneinstellung: Wenn die Systemvariable secure_file_priv mit einem nicht leeren Verzeichnisnamen konfiguriert ist, muss sich die Datei in diesem Verzeichnis befinden.
-
Datei Existenz: Wenn die Datei nicht existiert oder aufgrund von Berechtigungsproblemen nicht zugänglich ist, wird die Funktion zurückgegeben NULL.
-
Verwendungsbeispiel: Die korrekte Syntax, wie im Handbuch angegeben, sollte wie folgt lauten:
UPDATE t
SET blob_col=LOAD_FILE('/tmp/picture')
WHERE>
Nach dem Login kopieren
Um das Problem in Ihrem zu beheben Beachten Sie in einem bestimmten Fall Folgendes:
- Stellen Sie sicher, dass Sie den vollständigen Dateipfad einschließlich aller erforderlichen Verzeichnisse angeben Ebenen.
- Stellen Sie sicher, dass die entsprechenden Berechtigungen erteilt werden, um den Dateizugriff zu ermöglichen.
- Untersuchen Sie den Rückgabewert der Funktion. Ein NULL-Ergebnis weist auf ein Problem mit dem Dateizugriff oder der Verfügbarkeit hin.
- Versuchen Sie die im Handbuch bereitgestellte Abfrage, um festzustellen, ob andere Faktoren das Verhalten beeinflussen könnten.
Das obige ist der detaillierte Inhalt vonWarum kann meine MySQL-Funktion LOAD_FILE keine Blobs laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!