首頁 > 後端開發 > php教程 > 如何使用 PHP 成功將 Blob(映像)插入 MySQL?

如何使用 PHP 成功將 Blob(映像)插入 MySQL?

Mary-Kate Olsen
發布: 2024-11-28 01:24:09
原創
633 人瀏覽過

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

使用PHP 將Blob 插入MySQL 資料庫

問題:

嘗試將映像儲存在MySQL 資料庫中,但插入不成功。資料庫表格有兩列:ImageId (int) 和 Image (longblob)。 PHP 程式碼使用 file_get_contents() 檢索映像數據,並使用以下 SQL 查詢將其插入 Image 列:

$sql = "INSERT INTO ImageStore(ImageId,Image)               
                VALUES('$this->image_id','file_get_contents($tmp_image)')";
登入後複製

但是,映像資料不會儲存在資料庫中。

解決方案:

問題在於 PHP 程式碼建構 SQL 查詢的方式。 file_get_contents() 函數呼叫包含在查詢字串的單引號內,這表示未插入實際映像資料。為了解決這個問題,應該使用 PHP 的變數插值功能:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
登入後複製

此外,為了確保二進位資料不包含任何可能破壞 SQL 查詢的字符,建議使用以下方法清理資料mysql_escape_string()函數:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . mysql_real_escape_string(file_get_contents($tmp_image)) . "')";
登入後複製

附加註意事項:

在資料庫中儲存大型二進位資料可能會導致效能問題。考慮為影像和其他大型物件使用單獨的儲存介質,例如檔案系統或雲端儲存服務。

以上是如何使用 PHP 成功將 Blob(映像)插入 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板