Вставка изображения в столбец байтов показывает 0 байтов

База данных: POSTGRESQL

Драйвер базы данных: PDO

Мой запрос:

INSERT INTO
poi (
"idPoiCategory",
name,
"shortName",
description,
url,
source,
"contactPostalCode",
"contactCity",
"contactAddress",
"contactPhone",
"contactPhone2",
"contactMail",
"mediaPhotoCopyright",
"mediaPhotoMain",
"mediaPhotoMiniature1",
"mediaPhotoMiniature2",
"mediaPhotoOriginalWidth",
"mediaPhotoOriginalHeight",
"mediaPhotoMiniatureWidth",
"mediaPhotoMiniatureHeight",
"mediaPhotoCropX",
"mediaPhotoCropY",
"mediaPhotoCropWidth",
"mediaPhotoCropHeight")
VALUES (
:id_poi_category,
:name,
:short_name,
:description,
:url,
:source,
:postal_code,
:city,
:street_with_number,
:phone_number_1,
:phone_number_2,
:mailto,
:photos_copyright,
:photo_main,
:photo_miniature_1,
:photo_miniature_2,
:photo_original_width,
:photo_original_height,
:photo_miniature_width,
:photo_miniature_height,
:photo_crop_x,
:photo_crop_y,
:photo_crop_width,
:photo_crop_height
)
RETURNING "idPoi"

Я связываю параметры (bytea) используя:

$stmt->bindParam(':photo_main', $fields['photo_main'], PDO::PARAM_LOB);
$stmt->bindParam(':photo_miniature_1', $fields['photo_miniature_1'], PDO::PARAM_LOB);
$stmt->bindParam(':photo_miniature_2', $fields['photo_miniature_2'], PDO::PARAM_LOB);

Вопрос: почему изображения не вставляются в байтовые столбцы? Их
(столбцы) размер показывает 0 байтов. Я пытаюсь вставить эти изображения, но столбцы по-прежнему показывают размер 0 байт. Я пытался преобразовать двоичные данные в шестнадцатеричные и напичкать их в столбцы — напрасно, результат был все тот же: 0 байт.

0

Решение

Проблема с администратором. Он сообщает столбец как «0 байт», даже если вы в нем есть данные. Вы можете проверить это с помощью функции octet_length () в SQL-запросе f.ex: octet_length («column_name_with_bytea»). Он должен сообщить значение больше 0.

0

Другие решения

Других решений пока нет …