使用 PHP 將映像上傳到 MySQL 資料庫
使用 PHP 將映像插入到 MySQL 資料庫需要幾個步驟。讓我們解決您提供的程式碼中的問題:
1。資料庫表結構:
確保您的資料庫表有一列定義為 BLOB 或 MEDIUMBLOB 類型來儲存影像資料。
2.準備好的語句:
不要使用已棄用的 mysql_query() 函數,而是使用 PDO 或 MySQLi 切換到準備好的語句。準備好的語句可以防止 SQL 注入漏洞。
3.正確的影像處理:
目前程式碼直接從臨時檔案擷取影像資料。這是一個安全風險。相反,應將 file_get_contents() 與 FILE_BINARY 選項合併使用,以確保正確處理二進位內容。
4.清理:
使用addslashes()或mysqli_real_escape_string()清理影像資料以防止SQL注入。
5.正確的插入查詢:
插入查詢應與表結構匹配並相應地清理資料。這是修正後的版本:
$stmt = $mysqli->prepare("INSERT INTO product_images (id, image, image_name) VALUES (?, ?, ?)"); $stmt->bind_param("sis", 1, $image, $image_name); $image = file_get_contents($_FILES['image']['tmp_name'], FILE_BINARY); $image_name = addslashes($_FILES['image']['name']); if ($stmt->execute()) { echo "Image uploaded successfully"; } else { echo "Error: " . $mysqli->error; }
6。 HTML 表單:
HTML 表單應使用 enctype="multipart/form-data" 屬性,該屬性允許在請求中傳輸二進位資料。此外,為
以上是如何使用 PHP 正確地將映像上傳到 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!