首頁 >資料庫 >mysql教程 >如何使用 PHP 正確地將映像插入 MySQL 資料庫?

如何使用 PHP 正確地將映像插入 MySQL 資料庫?

Patricia Arquette
Patricia Arquette原創
2024-12-31 13:17:18889瀏覽

How to Properly Insert Images into a MySQL Database Using PHP?

如何使用 PHP 將映像插入 MySQL 資料庫

問題:

您正在嘗試將映像儲存在MyMy數據庫,但程序未插入圖像data.

提供的代碼摘錄:

    $file = $_FILES['image']['tmp_name'];
    ...
    if ($image_query = mysql_query ("insert into product_images values (1,'$image_name',$image )"))
    {
        ...
    }

錯誤消息:

您的SQL 中有錯誤句法;檢查與您的MySQL 伺服器版本對應的手冊以取得正確的語法。

解決方案:

1.確保影像列為BLOB 類型:
驗證用於儲存影像的資料列是否為BLOB 資料列類型。

2.清理輸入資料:
使用 MySQLi 函數處理 SQL 查詢並轉義輸入資料中的特殊字元以防止 SQL 注入。

更正的程式碼(假設ID 總是「1」) ):

$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);

$query = "INSERT INTO product_images (id, image, image_name) VALUES ('1', '{$image}', '{$image_name}')";

if (mysqli_query($conn, $query)) {
    ...
}

3.更新HTML 表單:

3.更新HTML 表單:
<form action="insert_product.php" method="POST" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input type="submit" />
</form>

HTML 表單應更新為使用正確的enctype屬性上傳檔案:

4.在磁碟上儲存檔案(可選):考慮將映像檔儲存在磁碟上,而不是使用MySQL 資料庫來儲存大量資料。這可以提高效能並減少資料庫負載。

以上是如何使用 PHP 正確地將映像插入 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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