Heim >Backend-Entwicklung >PHP-Tutorial >Wie speichere ich Bilder (Blobs) ordnungsgemäß in MySQL mit PHP?
Beim Versuch, ein Bild in einer MySQL-Datenbank zu speichern, können Probleme auftreten, wenn Ihre Abfrage das Bild nicht einfügen kann. Dieser Artikel bietet Lösungen für dieses Problem.
Problem:
In der folgenden Abfrage wird file_get_contents($tmp_image) als Zeichenfolge und nicht als Funktionsaufruf behandelt:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','file_get_contents($tmp_image)')";
Lösung 1:
Herausspringen der Zeichenfolge und führen Sie eine explizite Verkettung durch:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
Lösung 2:
Binärdaten maskieren, um ungültige Abfragen zu verhindern:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
Lösung 3:
Minimieren Sie die Datenbankgröße, indem Sie Bilder in einem Dateisystem speichern oder Nutzung von Cloud-Speicherdiensten.
Das obige ist der detaillierte Inhalt vonWie speichere ich Bilder (Blobs) ordnungsgemäß in MySQL mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!