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

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

Опубликовано 23 декабря 2024 г.
Просматривать:615

How Can I Successfully Insert Image Blobs into a MySQL Database Using PHP?

Вставка больших двоичных объектов в базы данных MySql с помощью PHP

Обзор проблемы

Вы пытаюсь сохранить изображение в базе данных MySQL с помощью PHP, но оно работает не так, как ожидалось. Данные изображения не вставляются в базу данных.

Решение

Проверьте наличие проблемы с интерполяцией переменных

В вашем запросе вы используете функцию file_get_contents() для получения данных изображения, но не объединяете ее результат явным образом со строкой запроса. В результате запрос содержит строку «file_get_contents($tmp_image)» вместо фактических данных изображения.

Решение 1. Явное объединение

Чтобы объединить изображение данные правильно, вам нужно выпрыгнуть из строки и сделать что-то явно:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";

Обработка санации

Если данные двоичного изображения содержат любые апострофы (') могут нарушить SQL-запрос. Чтобы предотвратить это, вам следует пропускать данные через mysql_escape_string. функция для очистки:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";

Рассмотрите альтернативное хранилище

Хранение большого объема двоичные данные (например, изображения) в базах данных MySQL могут сделать их громоздкими. Если возможно, рассмотрите возможность использования отдельного файлового хранилища. система изображений.

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

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

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

Copyright© 2022 湘ICP备2022001581号-3