問題:
您正在嘗試將映像儲存在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 表單:
<form action="insert_product.php" method="POST" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit" /> </form>
HTML 表單應更新為使用正確的enctype屬性上傳檔案:
以上是如何使用 PHP 正確地將映像插入 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!