使用PHP 程式碼將映像上傳到MySQL 資料庫
本指南解決了嘗試使用PHP 將映像保存到常見問題代碼。問題是程式碼不會產生任何錯誤訊息,但也無法將圖像資料插入資料庫。以下是解決問題的步驟:
1.確保映像列為 BLOB 類型:
驗證 MySQL 表中用於儲存影像的資料列是否為 BLOB 類型。 BLOB(二進位大物件)用於儲存影像等二進位資料。
2.轉義所有資料以防止 SQL 注入:
插入資料庫的資料應進行轉義以防止 SQL 注入漏洞。在插入影像資料之前,使用PHP的addslashes()函數對影像資料進行轉義。
3.使用正確的 SQL 語法:
用於插入映像資料的 SQL 查詢應遵循正確的語法。確保指定正確的列名稱和資料類型。
4.使用現代資料庫驅動程式:
提供的範例程式碼使用已棄用的 MySQL 函數。建議使用 PDO 或 MySQLi 等現代資料庫驅動程序,以提高安全性和效率。
5.遵循 HTML 表單標準:
HTML 表單應遵循 Web 標準。上傳圖片的正確格式語法是:
<form action="insert_product.php" method="POST" enctype="multipart/form-data"> <label>File: </label><input type="file" name="image" /> <input type="submit" /> </form>
使用PDO 的範例:
$conn = new PDO('mysql:host=<host>;dbname=<database>;charset=utf8', '<username>', '<password>'); $image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); $sql = "INSERT INTO product_images (id, image, image_name) VALUES (?, ?, ?)"; $stmt = $conn->prepare($sql); $stmt->execute([1, $image, $_FILES['image']['name']]);
依照以下步驟,您可以成功將圖片上傳到MySQL資料庫並防止任何潛在的錯誤。
以上是如何使用PHP成功上傳圖片到MySQL資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!