„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich mit PHP erfolgreich Bild-Blobs in eine MySQL-Datenbank einfügen?

Wie kann ich mit PHP erfolgreich Bild-Blobs in eine MySQL-Datenbank einfügen?

Veröffentlicht am 23.12.2024
Durchsuche:695

How Can I Successfully Insert Image Blobs into a MySQL Database Using PHP?

Blobs in MySql-Datenbanken mit PHP einfügen

Problemübersicht

Sie sind Ich versuche, ein Bild mit PHP in einer MySQL-Datenbank zu speichern, aber es funktioniert nicht wie erwartet. Die Bilddaten werden nicht in die Datenbank eingefügt.

Lösung

Auf Probleme mit der Variableninterpolation prüfen

In Ihrem Bei einer Abfrage verwenden Sie die Funktion file_get_contents(), um die Bilddaten abzurufen, verketten deren Ergebnis jedoch nicht explizit mit der Abfragezeichenfolge. Infolgedessen enthält die Abfrage die Zeichenfolge „file_get_contents($tmp_image)“ anstelle der tatsächlichen Bilddaten.

Lösung 1: Explizite Verkettung

Um das Bild zu verketten Um die Daten ordnungsgemäß zu erstellen, müssen Sie aus der Zeichenfolge herausspringen und die Dinge explizit ausführen:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";

Handle Sanitization

Wenn die binären Bilddaten enthalten Alle Apostrophe (') können die SQL-Abfrage unterbrechen. Um dies zu verhindern, sollten Sie die Daten über die Funktion mysql_escape_string ausführen sanitization:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";

Erwägen Sie alternativen Speicher

Speichern groß Binärdaten (z. B. Bilder) in MySQL-Datenbanken können diese umfangreich machen. Wenn möglich, sollten Sie die Verwendung eines separaten Dateispeichersystems in Betracht ziehen Bilder.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3