dmitrij
Новичок
Проблемы с Firebird BLOB
В Firebird 1.5 текст храню в поле BLOB SUB_TYPE 1
В менеджере все текста видно ок, но из PHP при попытке выборки данный пишет
Warning: ibase_blob_info() [function.ibase-blob-info]: BLOB not found
В чем может быть проблема?
UPD:
Вот код функции которую использую для получения текста:
function ibase_gettext($blob_field){
global $DB_LINK;
$blob_data = @ibase_blob_info($blob_field);
$blob_hndl = @ibase_blob_open($blob_field);
$text = @ibase_blob_get($blob_hndl, $blob_data[0]);
@ibase_blob_close($blob_hndl);
return $text;
}
Вот структура таблицы:
CREATE TABLE PAYMENT_METHODS (
ID INTEGER NOT NULL,
CODE VARCHAR(20) CHARACTER SET NONE COLLATE NONE,
PAYMENT_PERIOD_DAYS SMALLINT,
MIN_WITHDRAW_AMOUNT NUMERIC(12, 6),
"TYPE" SMALLINT,
CURRENCY_ID INTEGER NOT NULL,
OPEN_TYPE SMALLINT,
WITHDRAW_STATUS SMALLINT,
ICON_FILENAME VARCHAR(50) CHARACTER SET NONE COLLATE NONE,
PAY_INSTRUCTION BLOB SUB_TYPE 1 CHARACTER SET WIN1251,
INSTRUCTION_ENABLED SMALLINT,
IS_PROGRAM SMALLINT,
PAYMENT_PAGE_HTML BLOB SUB_TYPE 1 CHARACTER SET WIN1251,
STATUS SMALLINT);
Падает при:
$row = ibase_fetch_object(ibase_query($DB_LINK,"select * from $table where id=$id"));
if ($row->PAY_INSTRUCTION){
$pay_instruction = ibase_gettext($row->PAY_INSTRUCTION);
}
В Firebird 1.5 текст храню в поле BLOB SUB_TYPE 1
В менеджере все текста видно ок, но из PHP при попытке выборки данный пишет
Warning: ibase_blob_info() [function.ibase-blob-info]: BLOB not found
В чем может быть проблема?
UPD:
Вот код функции которую использую для получения текста:
function ibase_gettext($blob_field){
global $DB_LINK;
$blob_data = @ibase_blob_info($blob_field);
$blob_hndl = @ibase_blob_open($blob_field);
$text = @ibase_blob_get($blob_hndl, $blob_data[0]);
@ibase_blob_close($blob_hndl);
return $text;
}
Вот структура таблицы:
CREATE TABLE PAYMENT_METHODS (
ID INTEGER NOT NULL,
CODE VARCHAR(20) CHARACTER SET NONE COLLATE NONE,
PAYMENT_PERIOD_DAYS SMALLINT,
MIN_WITHDRAW_AMOUNT NUMERIC(12, 6),
"TYPE" SMALLINT,
CURRENCY_ID INTEGER NOT NULL,
OPEN_TYPE SMALLINT,
WITHDRAW_STATUS SMALLINT,
ICON_FILENAME VARCHAR(50) CHARACTER SET NONE COLLATE NONE,
PAY_INSTRUCTION BLOB SUB_TYPE 1 CHARACTER SET WIN1251,
INSTRUCTION_ENABLED SMALLINT,
IS_PROGRAM SMALLINT,
PAYMENT_PAGE_HTML BLOB SUB_TYPE 1 CHARACTER SET WIN1251,
STATUS SMALLINT);
Падает при:
$row = ibase_fetch_object(ibase_query($DB_LINK,"select * from $table where id=$id"));
if ($row->PAY_INSTRUCTION){
$pay_instruction = ibase_gettext($row->PAY_INSTRUCTION);
}