Heim >Datenbank >MySQL-Tutorial >Wie füge ich Blobs (Bilder) mit PHP richtig in MySQL ein?

Wie füge ich Blobs (Bilder) mit PHP richtig in MySQL ein?

Linda Hamilton
Linda HamiltonOriginal
2024-12-20 09:43:13512Durchsuche

How to Properly Insert Blobs (Images) into MySQL using PHP?

Blobs in MySql-Datenbanken mit PHP einfügen

Beim Versuch, ein Bild in einer MySQL-Datenbank zu speichern, kann dies passieren auf ein Problem stoßen. Dieser Leitfaden bietet Lösungen für die erfolgreiche Speicherung Ihrer Bilddaten.

Issue

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

Dieser Code erstellt einen String in PHP, aber der Funktionsaufruf file_get_contents($tmp_image) wird nicht ausgewertet, bevor der String erstellt wird. Folglich werden die eigentlichen Binärdaten nicht eingefügt.

Lösung 1

Um dieses Problem zu beheben, müssen Sie explizit verketten das Ergebnis der Funktion call:

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

Lösung 2

Stellen Sie außerdem sicher, dass alle Zeichen in den Binärdaten das könnte die Abfrage beeinträchtigen escaped:

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

Lösung 3

Das Speichern großer Binärdaten in einer Datenbank wird im Allgemeinen nicht empfohlen . Dies kann zu Leistungsproblemen und einer Aufblähung der Datenbank führen. Erwägen Sie stattdessen die Verwendung eines separaten Dateisystems zum Speichern Ihrer Bilder.

Das obige ist der detaillierte Inhalt vonWie füge ich Blobs (Bilder) mit PHP richtig in MySQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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