Heim >Datenbank >MySQL-Tutorial >Wie füge ich Blobs (Bilder) mit PHP richtig in MySQL ein?
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.
<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.
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>
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>
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!