嘗試在MySQL 資料庫中儲存映像時,您可能會遇到到問題。本指南將提供成功儲存影像資料的解決方案。
<br>$sql = "INSERT進入ImageStore(ImageId,Image)<br>VALUES('$this->image_id','file_get_contents($tmp_image)')";<br>
這段程式碼在PHP 中建立字串,但在建立字串之前不會評估函數呼叫file_get_contents($tmp_image)。因此,不會插入實際的二進位資料。
要解決此問題,您需要明確連接函數的結果呼叫:
<br>$sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . file_get_contents ($tmp_image) . "')";<br>
此外,請確保二進位資料中的任何字元可能會幹擾查詢的是轉義:
<br>$ sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . mysql_escape_string (file_get_contents($tmp_image)) 。 "')";<br>
一般不建議在在在資料庫中儲存大型二進位資料。它可能會導致效能問題和資料庫膨脹。考慮使用單獨的檔案系統來儲存影像。
以上是如何使用 PHP 正確地將 Blob(映像)插入 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!