Heim > Datenbank > MySQL-Tutorial > 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?

Patricia Arquette
Freigeben: 2024-12-16 00:39:23
Original
932 Leute haben es durchsucht

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

Blobs in MySQL-Datenbanken mit PHP einfügen

Problemübersicht

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

Lösung

Auf Probleme mit der Variableninterpolation prüfen

In In Ihrer 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 richtig zu verarbeiten, müssen Sie aus der Zeichenfolge herausspringen und Dinge tun explizit:

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

Handle Sanitization

Wenn die binären Bilddaten Apostrophe (') enthalten, kann dies die SQL-Abfrage beschädigen. Um dies zu verhindern, sollten Sie die Daten zur Bereinigung über die Funktion mysql_escape_string ausführen:

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

Alternativen Speicher in Betracht ziehen

Speichern großer Binärdaten (z. B. Bilder) in MySQL-Datenbanken können sie sperrig machen. Erwägen Sie nach Möglichkeit die Verwendung eines separaten Dateispeichersystems für Bilder.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP erfolgreich Bild-Blobs in eine MySQL-Datenbank einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage