」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何解決 PHP 圖片上傳無法插入 MySQL 資料庫的問題?

如何解決 PHP 圖片上傳無法插入 MySQL 資料庫的問題?

發佈於2025-01-16
瀏覽:840

How to Troubleshoot PHP Image Uploads Failing to Insert into a MySQL Database?

如何使用 PHP 程式碼將映像上傳到 MySQL 資料庫

將映像上傳到 MySQL 資料庫是開發 Web 應用程式時的常見任務。但是,確保您的 PHP 程式碼正確配置以有效處理影像資料非常重要。

問題描述

開發人員在使用 PHP 程式碼時遇到了問題,這旨在將映像插入 MySQL 資料庫。程式碼不會產生任何錯誤訊息,但無法將圖像資料插入資料庫。下面提供了程式碼片段:

$image = file_get_contents ($_FILES['image']['tmp_name']);
$image_name = $_FILES['image']['name'];
if ($image_query = mysql_query ("insert into product_images values (1,'$image_name',$image )"))
{
  echo $current_id;
 //echo 'Successfull';
}
else
{
  echo mysql_error();
}

解決方案

經分析,程式碼中存在以下問題:

  • 表格配置: 確保MySQL表中指定用於儲存映像的欄位是BLOB類型,以容納二進位資料。
  • MySQL函數用法: 現代 PHP 程式碼應使用 PDO 或 MySQLi 函數進行資料庫交互,而不是已棄用的 mysql 函數。
  • 表單結構: 程式碼片段中提供的HTML 表單已過時,應該遵循以下格式:
  • 圖像轉義:將圖像資料處理為 BLOB 時,請確保使用 mysql_real_escape_string() 進行轉義以防止語法錯誤。

修訂後的程式碼

以下程式碼包含了必要的內容修正:

$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);
$sql = "INSERT INTO `product_images` (`id`, `image`, `image_name`) VALUES ('1', '{$image}', '{$image_name}')";
if (!mysql_query($sql)) { // Error handling
    echo "Something went wrong! :("; 
}
['tmp_name'])); $image_name = addslashes($_FILES['image']['name']); $sql = "插入 `product_images` (`id`, `image`, `image_name`) 值 ('1', '{$image}', '{$image_name}')"; if (!mysql_query($sql)) { // 錯誤處理 echo "出了點問題!:("; }

透過解決這些問題,PHP程式碼將能夠成功地將映像上傳到MySQL資料庫。出於性能和可擴展性的原因,還建議考慮將圖像檔案儲存在磁碟上而不是資料庫中。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3