«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как устранить неполадки при загрузке изображений PHP, которые не удалось вставить в базу данных MySQL?

Как устранить неполадки при загрузке изображений PHP, которые не удалось вставить в базу данных MySQL?

Опубликовано 16 января 2025 г.
Просматривать:279

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

Как загрузить изображения в базу данных MySQL с помощью кода PHP

Загрузка изображений в базу данных MySQL — распространенная задача при разработке веб-приложений. Однако важно убедиться, что ваш 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();
}

Решение

После анализа в коде были выявлены следующие проблемы:

  • Конфигурация таблицы SQL: Убедитесь, что столбец в таблице 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! :("; 
}

Решая эти проблемы, PHP-код сможет успешно загружать изображения в базу данных MySQL. Также рекомендуется рассмотреть возможность хранения файлов изображений на диске, а не в базе данных, из соображений производительности и масштабируемости.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3