Выходное изображение Imagick не обновляется в базе данных

#php #imagick

#php #imagick

Вопрос:

Я извлекаю данные изображения из своей базы данных, использую Imagick для обработки их, а затем записываю выходные данные обратно в базу данных. Изображение нормально изменено (в данном случае повернуто), но оно не записывает обратно измененное изображение. Вместо этого он записывает обратно исходное изображение.

 $sql = "SELECT photoData FROM tblPhotos WHERE photoID = '..someID..';";
$res = mysqli_query($connect, $sql);

while($row = mysqli_fetch_array($res)) {
    $imagedata = $row['photoData'];
}

$im = new Imagick();
$im->readimageblob($imagedata);
$angle = 90;
$im->rotateimage("#FFF", $angle);
$output = $im->getimageblob();

$sql = "UPDATE tblPhotos SET photoData= '" . $output . "' WHERE photoID = '..someID..';";
mysqli_query($connect, $sql);
  

Если я изменю UPDATE $ sql на:

 $sql = "UPDATE tblPhotos SET photoData= 'abc' WHERE photoID = '..someID..';";
  

затем я вижу, что ОБНОВЛЕНИЕ базы данных работает, так что проблема не в этом. Чего мне здесь не хватает?

Комментарии:

1. Просто снимок в темноте, но вы пробовали «ОБНОВИТЬ tblPhotos, УСТАНОВИТЬ photoData = ‘$ output’, ГДЕ PhotoID = ‘..someID ..’;»

2. Хорошая идея, но это не имеет значения. Спасибо, что посмотрели.

3. Проверяли ли вы наличие каких-либо ошибок mysqli, используя mysqli_error ($ connect) после запроса?

4. Их нет. Как уже упоминалось, если я изменяю данные на photoData = ‘abc’, они сохраняются корректно, без ошибок, но, конечно, изображение теряется.