首頁 >資料庫 >mysql教程 >如何使用 PHP 安全地將二進位資料 (Blob) 插入 MySQL?

如何使用 PHP 安全地將二進位資料 (Blob) 插入 MySQL?

Linda Hamilton
Linda Hamilton原創
2024-12-15 05:13:11803瀏覽

How to Safely Insert Binary Data (Blobs) into MySQL Using PHP?

使用PHP 將Blob 插入MySQL 資料庫

要使用PHP 在MySQL 資料庫中高效地儲存二進位資料(例如影像),至關重要避免常見的陷阱。

陷阱:嘗試將函數呼叫的結果直接插入 MySQL 查詢中。

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

解 1: 明確連接函數呼叫的結果。

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

陷阱: 在將二進位資料插入到之前未能對其進行清理

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

解決方案2: 使用mysql_escape_string 轉義二進位資料。

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";

陷阱: 將大型二進位資料直接儲存在資料庫可能會膨脹

解決方案3:考慮二進位資料的替代儲存方法,例如檔案儲存系統。

以上是如何使用 PHP 安全地將二進位資料 (Blob) 插入 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn