Вы пытаюсь сохранить изображение в базе данных 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