Das Einfügen von Bildern in eine MySQL-Datenbank mit PHP kann schwierig sein. Ein häufiger Fehler besteht darin, die Binärdaten direkt mit file_get_contents() einzubetten. Dies führt dazu, dass anstelle der tatsächlichen Bilddaten eine Zeichenfolge gespeichert wird, die den Funktionsaufruf darstellt.
Um die Bilddaten ordnungsgemäß einzufügen, müssen Sie das Ergebnis von verketten file_get_contents(). Dies kann durch Springen aus der Zeichenfolge und explizites Anhängen des Werts erfolgen:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
Binärdaten können Sonderzeichen enthalten, die die SQL-Abfrage ungültig machen können. Um dies zu verhindern, maskieren Sie die Daten mit mysql_escape_string():
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
Das Speichern großer Bilder in einer Datenbank kann zu Leistungsproblemen führen. Ziehen Sie in Betracht, ein separates Dateispeichersystem wie Amazon S3 oder ein Dateisystem zu verwenden und stattdessen den Bildpfad oder die Referenz in der Datenbank zu speichern.
Das obige ist der detaillierte Inhalt vonWie füge ich Bild-Blobs mit PHP sicher in MySQL-Datenbanken ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!