Что такое код ifx_update_char

ifx_update_char

Руководство по PHP
Пред. След.

ifx_update_char

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ifx_update_char — Updates the content of the char object

Description

Updates the content of the char object for the given char object bid . content is a string with new data. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Что такое код ifx_update_char

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

ifx_update_char — Updates the content of the char object

Description int ifx_update_char ( int bid, string content )

Updates the content of the char object for the given char object bid . content is a string with new data. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пред. Начало След.
ifx_update_blob Уровень выше ifxus_close_slob

Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:

Linux.yaroslavl.ru

Драйверы Informix для Online (ODS) 7.x, SE 7.x и Universal Server (IUS) 9.x выполнены в «functions/ifx.ec» и «functions/php3_ifx.h». В данный момент написание поддержки ODS 7.2 в известной степени завершено, с полной поддержкой BLOB. Поддержка IUS 9.1 завершена частично: новые типы данных уже есть, но поддержка SLOBS все еще в стадии разработки.

Перед тем, как вы запустите скрипт «configure», убедитесь, что переменная «INFORMIXDIR» установлена.

Конфигурационный скрипт автоопределяет библиотеки и включаемые (include) директории, если вы запустите «configure —with_informix=yes». Вы можете переопределить эти директории, специфицировав переменные окружения «IFX_LIBDIR», «IFX_LIBS» и «IFX_INCDIR». Скрипт также патается автоопределить версию сервера Informix. Он установит переменную условного завершения «HAVE_IFX_IUS», если у вас Informix версии >= 9.00.

Несколько замечаний по использованию BLOB:

Текущая версия (18 Сентября 1998) полностью поддерживает select/insert/update для BLOB.

BLOBы в общем случае адрексуются целочисленными идентификаторами BLOB. Запрос Select возвращает «blob возвратит вам имя файла. Для получения содержания используйте стандартные операции файлового ввода/вывода

Для запросов insert/update вам неоходимо создать «blob id’s» своими силами, используя «ifx_create_blob(..);». Затем включите идентификатор BLOB в массив и замените колонку BLOB знаком вопроса (?) в строке запроса. Для updates/inserts вы определяете содержание BLOB, используя ifx_update_blob(. ).

Поведение колонок BLOB может быт изменено конфигурационными переменными, которые можно устанавлиавать и во время выполнения:

конфигурационная переменная : ifx.textasvarchar

конфигурационная переменная : ifx.byteasvarchar

функция времени выполнения :

ifx_textasvarchar(0) : использовать идентификатор BLOB для запросов select для колонок TEXT.

ifx_byteasvarchar(0) : использовать идентификатор BLOB для запросов select для колонок BYTE.

ifx_textasvarchar(1) : возвращать колонку TEXT так, как будто это VARCHAR, без использования идентификатора BLOB для запросов select.

ifx_byteasvarchar(1) : возвращать колонку BYTE так, как будто это VARCHAR, без использования идентификатора BLOB для запросов select.

Конфигурационная переменная : ifx.blobinfile

функция времени выполнения :

ifx_blobinfile_mode(0) : возвращать колонку BYTE в память, идентификатор BLOB позволяет получить содержание.

ifx_blobinfile_mode(1) : возвращать колонку BBYTE в файл, по идентификатору BLOB — имя файла

Если вы устанавливаете ifx_text/byteasvarchar в 1, то можете использовать колонки TEXT и BYTE в запросах select как обычные (но довольно длинные) поля VARCHAR. С тех пор, как все строки в PHP3 «счетные», это напоминает «бинарную безопасность». Возвращаемые данные могут содержать все, что угодно, вы отвечаете за содержимое.

Если вы устанавливаете ifx_blobinfile в 1, используйте имя файла, возвращаемое ifx_get_blob(..) для получения бинарного содержания. Заметим, что в этом случае ВЫ ОТВЕТСТВЕННЫ ЗА УДАЛЕНИЕ ВРЕМЕННЫХ ФАЙЛОВ, СОЗДАННЫХ INFORMIX при выборке ряда. Каждый новый выбранный ряд создает новые временные файлы для каждой колонки типа BYTE.

Местоположение временных файлов указывается в переменной окружения «blobdir», по умолчанию — «.» (текущая директория). Что-то вроде putenv(blobdir=»tmpblob»); облегчит удаление случайно оставленных временных файлов (имена всех таких файлов начинаются с «blb»).

Автоудаление пробелов для данных «char» (SQLCHAR и SQLNCHAR):

Может быть устанвлено в конфигурационной переменной :

ifx.charasvarchar : если установлена в 1 , то концевые пробелы будут удаляться автоматически.

ifx_connect

Описание

int ifx_connect (string [ database ], string [ userid ], string [ password ]);

При успешном завершении возвращает идентификатор соединения, при ошибке — false.

ifx_connect() устанавливает соединение к серверу Informix. Все аргументы опциональны и при их отсутствии берутся установки по умолчанию, из файла php3.ini: хост — ifx.default_host (если не определено, то библиотеки Informix используют переменную окружения $INFORMIXSERVER), пользователь — ifx.default_user, пароль — ifx.default_password (может быть не определен).

В случае повтороного вызова функции ifx_connect() с теми же параметрами, новое соединение установлено не будет, а возвратится идентификатор уже установленного соединения.pened link

Ссылка к серверу будет уничтожена, как только завершится выполнение скрипта, если только она не будет закрыта раньше вызовом ifx_close() .

Смотри также ifx_pconnect() , и ifx_close() .

Примет 1. Соединение с базой данных Informix

ifx_pconnect

Описание

int ifx_pconnect (string [ database ], string [ userid ], string [ password ]);

Возвращает идентификатор реальной устойчивой ссылки к Informix при успешном завершении и false при ошибке.

ifx_pconnect() работает очень похоже с ifx_connect() , но с двумя основными отличиями.

Эта функция ведет себя точно так же, как ifx_connect() , когда PHP не запкщено как модуль Апача. Во-первых, при соединении функция перво-наперво пытается найти устойчивую ссылку, которая была открыта ранее к тому же хосту с теми же параметрами (пользователь, пароль). Если поиски увенчались успехом, будет возвращен идентификатор ранее установленного соединения.

Во-вторых, соеденение с SQL-сервером не закроется по окончании выполнения скрипта. Вместо этого, ссылка останется открытой для дальнейшего использования ( ifx_close() не закроет ссылку, установленную >ifx_pconnect() ).

Ссылкт такого типа обычно называют устойчивыми (persistent).

ifx_close

Описание

int ifx_close (int [ link_identifier ]);

Всегда возвращает true

ifx_close() закрывает ссылку к базе данных Informix, которая ассоциируется со специальным идентификатором ссылки. Если идентификатор ссылки не указан, предполагается последнее установленное соединение.

Заметим, что данная функция не ринадлежит к разряду широко используемых, поскольку неустойчивые соединения автоматически закрываются после окончания выполнения скрипта.

ifx_close() не закрое устойчивое соединение, сгенерированное ifx_pconnect() .

Смотри также: ifx_connect() , и ifx_pconnect() .

Пример 1. закрытие соединения с Informix

ifx_query

Описание

int ifx_query (string query, int [ link_identifier ], int [ cursor_type ], mixed [ blobidarray ]);

Возвращает определенный идентификатор результата Informix при успешном выполнении и false при ошибке.

Выполняется query на соединении conn_id . Для запросов типа Select курсор объявлен и открыт. опциональный параметр cursor_type позволяет вам сделать курсор «scroll» и/или «hold». Это маска и может принимать одно из значаний IFX_SCROLL, IFX_HOLD, или обы вместе. Не-select запросы «выполняются немедленно».

Для любого типа запроса количество (предполагаемое или действительное) обрабатываемых рыдов сохраняется для выборки в ifx_affected_rows() .

Если у вас есть колонки BLOB (BYTE или TEXT) в запросе update, вы может добавить параметр blobidarray , содержащий соответствующие идентификаторы BLOB; тогда следует заменить эти колонки на знак вопроса (?) в тексте запроса.

Если содержание колонки TEXT/BYTE позволяет, то вы можете также использовать «ifx_textasvarchar(1)» и «ifx_byteasvarchar(1)». Это позволит вам обращаться с колонками TEXT/BYTE так же, как с обычными (но довольно длинными) колонками VARCHAR в запросах select, и нет необходимости морочиться с идентификаторами BLOB.

С ifx_textasvarchar(0) или ifx_byteasvarchar(0) (ситувация по умолчанию) запрос select возвратит колонки BLOB как идентификаторы BLOB (целые значения). Вы можете получитьзначения этих идентификаторов как стори или файлы путем использования специтальных функций для BLOB (см. ниже).

Смотри также: ifx_connect() .

Пример 1. показ всех рядов таблицы «orders» как таблицы html

Пример 2. Вставка нескольких значений в таблицу «catalog»

ifx_prepare

Описание

int ifx_prepare (string query, int conn_ >cursor_def ], mixed blobidarray);

Возвращает целое result_id для использования в ifx_do() . Устанавливает affected_rows для извлечения данных функцией ifx_affected_rows() .

Подготавливает query на соединении conn_id . Для запросов типа Select курсор объявлен и открыт. опциональный параметр cursor_type позволяет вам сделать курсор «scroll» и/или «hold». Это маска и может принимать одно из значаний IFX_SCROLL, IFX_HOLD, или обы вместе. Не-select запросы «выполняются немедленно».

Для любого типа запроса количество (предполагаемое или действительное) обрабатываемых рыдов сохраняется для выборки в ifx_affected_rows() .

Если у вас есть колонки BLOB (BYTE или TEXT) в запросе update, вы может добавить параметр blobidarray , содержащий соответствующие идентификаторы BLOB; тогда следует заменить эти колонки на знак вопроса (?) в тексте запроса.

Если содержание колонки TEXT/BYTE позволяет, то вы можете также использовать «ifx_textasvarchar(1)» и «ifx_byteasvarchar(1)». Это позволит вам обращаться с колонками TEXT/BYTE так же, как с обычными (но довольно длинными) колонками VARCHAR в запросах select, и нет необходимости морочиться с идентификаторами BLOB.

С ifx_textasvarchar(0) или ifx_byteasvarchar(0) (ситувация по умолчанию) запрос select возвратит колонки BLOB как идентификаторы BLOB (целые значения). Вы можете получитьзначения этих идентификаторов как стори или файлы путем использования специтальных функций для BLOB (см. ниже).

ifx_do

Описание

int ifx_do (int result_id);

Возвращает true при успешном выполнении, false при ошибке.

Выполняет предварительно подготовленный запрос или открывает курсор для него.

НЕ освобождает result_id при ошибке.

ТАкже устанавливает реальное значение ifx_affected_rows() для не-select выражений для выборки данных в ifx_affected_rows() .

ifx_error

Описание

string ifx_error (void);

Коды оошибок The Informix (SQLSTATE & SQLCODE) имеют следующий фомат:

x [SQLSTATE = aa bbb SQLCODE=cccc]

x = space : нет ошибок

N : нет больше данных

Первый символ возвращет общий результата, SQLSTATE и SQLCODE описывают ошибку более детально. Обрабатывается последняя ошибка.

Просмотрите Руководство к Informix для получения описания SQLSTATE и SQLCODE.

ifx_errormsg

Описание

string ifx_errormsg (int [ errorcode ]);

Возвращает сообщение об ошибке Informix, ассоциируещееся с последней ошибкой, или, если установлен опциональный параметр » errorcode «, сообщение, соответствующее » errorcode «.

ifx_affected_rows

Описание

int ifx_affected_rows (int result_id);

Возвращает число рядов, обработанных запросом, ассоциорванным с result_id .

Для вставок, обновлений и удалений — это реальное количество (sqlerrd[2]) обработанных рядов. Для выборок — ожидаемое количество (sqlerrd[0]). Не полагайтесь на него.

Часто используется после ifx_prepare() для ограничения запроса до приемлимого уровня.

Смотри также: ifx_num_rows()

Пример 1. Обрабатываемые ряды Informix

ifx_fetch_row

Описание

array ifx_fetch_row (int result_ >position ]);

Возвращает ассоциативный массив, соответсвующий выбранному ряду, или false, если нет больше рядов.

Колонки BLOB возвращаются как целые идентификторы BLOB для использоваиня в ifx_get_blob() , если только вы не используете ifx_textasvarchar(1) или ifx_byteasvarchar(1), в этом случае BLOBы возвратятся как строкоыве значения. При ошибке возвращается false.

result_id — это действительный идентификатор результата, возвращенный ifx_query() или ifx_prepare() (только для запросов типа select).

[ position ] — опциональный параметр для операций выборки только при подвижном курсоре (scroll cursor): «NEXT», «PREVIOUS», «CURRENT», «FIRST», «LAST» или номер. Если указан номер, выполняется «абсолютная» выборка ряда.

ifx_fetch_row() выбирает один ряд данных из результата, ассоциирующегося с указанным идентификатором результата. Ряд возвращается как массив. аждая колонка результата сохраняется в смещении массива, начиная со смещения 0.

Последующий вызов ifx_fetch_row() возвртит следующий ряд результата, или false, если нет больше рядов.

Пример 1. Выборка рядов Informix

ifx_htmltbl_result

Описание

int ifx_htmltbl_result (int result_ >html_table_options ]);

Возвращает количество выбранных рядов или false по ощибке.

Форматирует все ряды запроса с идентификатором result_id в html-таблицу. Второй опциональный параметр — строка с тегами установок

Пример 1. Результат Informix как таблица HTML

ifx_fieldtypes

Описание

array ifx_fieldtypes (int result_id);

Возвращает асоциативный масив с именами полей как ключами и типами данных SQL как данными для запроса с result_id . При ошибке FALSE.

Пример 1. Имена полей и типы данных SQL

ifx_fieldproperties

Описание

array ifx_fieldproperties (int result_id);

Возвращает ассоциативный массив с именами полей как ключами и SQL свойствами полей как данными для запроса с result_id . При ошибке — FALSE.

Возвращает свойства полей Informix SQL для каждого поля в запросе как ассоциативный массив. Свойства расшифровываются как: «SQLTYPE;длина;точность;размер;ISNULLABLE» где SQLTYPE = тип Informix типа «SQLVCHAR» и т.п. и ISNULLABLE = «Y» или «N».

Пример 1. Сойства полей Informix SQL

ifx_num_fields

Описание

int ifx_num_fields (int result_id);

Возвращает число колонок в запросе для result_id или FALSEпо ошибке.

После подготовки или выполнения запроса, этот вызов дает вам количество колонок в запросе.

ifx_num_rows

Описание

int ifx_num_rows (int result_id);

Дает количество строк, выбранных до сих пор для запроса с result_id после ifx_query() или ifx_do() .

ifx_free_result

Описание

int ifx_free_result (int result_id);

Освобождает ресурсы, занятые запросом с идентификатором результата result_id . Возвращает FALSE при ошибке.

ifx_create_char

Описание

int ifx_create_char (string param);

Создает символьный объект. param должен иметь символьное содердимое.

ifx_free_char

Описание

int ifx_free_char (int bid);

Удаляет символьны объеккт для аолученного идентификатора символьногго объекта bid . Возвращает FALSE при ошибке, в противном случае — TRUE.

ifx_update_char

Описание

int ifx_update_char (int bid, string content);

Обновляет содержимое символьного объекта с идентификатором bid . content — строка с новыми данными. Возвращает FALSE при ошибке, в противном случае — TRUE.

ifx_get_char

Описание

int ifx_get_char (int bid);

Возвращает содержание символьного объекта с идентификатором bid .

ifx_create_blob

Описание

int ifx_create_blob (int type, int mode, string param);

Создает объект BLOB

type: 1 = TEXT, 0 = BYTE

mode: 0 = BLOB-объект хранится в памяти 1 = BLOB-объект хранит содержимое в файле

param: если режим = 0: указатель на содержимое если режим = 1: указатель на файл-строку

Возвращает FALSE при ошибке, в противном случае — новый идентификатор BLOB-объекта.

ifx_copy_blob

Описание

int ifx_copy_blob (int bid);

Дублирует полученный BLOB-объект. bid — идентификатор дублируемого объекта

Возвращает FALSE при ошибке, в противном случае — новый идентификатор BLOB-объекта.

ifx_free_blob

Описание

int ifx_free_blob (int bid);

Удаляет объект BLOB сидентификатором bid . Возвращает FALSE при ошибек и TRUE в противном случае.

ifx_get_blob

Описание

int ifx_get_blob (int bid);

Возвращает содержимое объекта BLOB с идентификатором bid .

ifx_update_blob

Описание

ifx_update_blob (int bid, string content);

Обновляет содержимое объекта BLOB c идентификатором bid . content — строка с новыми данными. Возвращает FALSE при ошибке и TRUE в противном случае.

ifx_blobinfile_mode

Описание

void ifx_blobinfile_mode (int mode);

Устанавливает для BLOB режимы по умолчанию для всех запросов select. Режим «0» означает сохранение Byte-BLOB в памяти, а режим «1» — сохранение в файл.

ifx_textasvarchar

Описание

void ifx_textasvarchar (int mode);

Устанавливает умолчания для текстового режима для всех запрососв типа select. Режим «0» — возвращается идентификатор BLOB, а при режиме «1» — возвратится varchar с текстовым содержанием.

ifx_byteasvarchar

Описание

void ifx_byteasvarchar (int mode);

Устанавливает умолчани для байтового режима для всх запросов select. Режим «0» — возвращается идентификатор BLOB, а при режиме «1» — возвратится varchar с текстовым содержанием.

ifx_nullformat

Описание

void ifx_nullformat (int mode);

Устанавливает возвращаемое по умолчанию значение при выборке ряда для полей созначением NULL. При mode=0 вощвращается пустая строка, при mode=1 — NULL.

ifxus_create_slob

Описание

int ifxus_create_slob (int mode);

Создает slob-объект и открывает его. Режимы: Modes: 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> or-маска. Вы также можете использовать константы, именованные IFX_LO_RDONLY, IFX_LO_WRONLY etc. Возвращает FALSE при ошибке и новый идентификатор объекта slob в противном случае.

ifx_free_slob

Описание

int ifxus_free_slob (int bid);

Удаляет объект slob с идентификатором bid . Возвращает FALSE приошибке и TRUE в противном случае.

ifxus_close_slob

Описание

int ifxus_close_slob (int bid);

Удаляет объект slob с идентификатором bid . Возвращает FALSE приошибке и TRUE в противном случае.

ifxus_open_slob

Описание

int ifxus_open_slob (long bid, int mode);

Открывает объект slob. bid должен быть существующим идентификатором slob. Режимы: 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> or-маска. Возвращает FALSE при ошибке и новый идентификатор объекта slob в противном случае.

ifxus_tell_slob

Описание

int ifxus_tell_slob (long bid);

Возвращает текущий файл или позицию поиска для открытього объекта slob, bid должен быть действующим идентификатором slob. Возвращает FALSE при ошибке, в противном случае — позицию поиска.

ifxus_seek_slob

Описание

int ifxus_seek_blob (long bid, int mode, long offset);

Устанавливает текуцщий файл или позицию поиска для открытого объекта slob. bid должен быть существующим идентификатором slob. Режимы: 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END и offset — байтовое смещение. Возвращает FALSE при ошибке, в противном случае — позицию поиска.

ifxus_read_slob

Описание

int ifxus_read_slob (long bid, long nbytes);

Читает байты в объект slob. bid — существующий идентификатор slob и nbytes — количество байт, которое надо прочесть. Возвращает FALSE при ошибке и строку в протвном случае.

ifxus_write_slob

Описание

int ifxus_write_slob (long bid, string content);

Записывает строку в объект slob. bid — существующий идентификатор slob и content — содержание записи. Возвращает FALSE при ошибке или число записанных байт в противном случае.

ifx_update_char

(PHP 4, PHP ifx_update_char — Updates the content of the char object

Описание

Updates the content of the char object for the given char object bid .

Список параметров

A char object identifier.

The new data, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifx_update_blob() — Updates the content of the blob object

XLIV. Функции Informix

Драйвер Informix для Informix (IDS) 7.x, SE 7.x, Universal Server (IUS) 9.x и IDS 2000 реализован в «ifx.ec» и «php3_ifx.h» в директории расширения informix. Поддержка IDS 7.x весьма основательна, с полной поддержкой столбцов BYTE и TEXT. Поддержка IUS 9.x частично завершена: введены новые типы данных, но поддержка SLOB и CLOB всё ещё в стадии разработки.

Замечания по конфигурации: вам необходима версия ESQL/C для компиляции драйвера Informix для РНР. ESQL/C версии с 7.2x должны работать нормально. ESQL/C является теперь частью Informix Client SDK.

Убедитесь, что переменная «INFORMIXDIR» установлена и что $INFORMIXDIR/bin имеется в вашей переменной окружения PATH, прежде чем запускать скрипт «configure».

Примечание: скрипт configure будет автоматически определять директории библиотек и include, если вы запустите configure —with_informix=yes . Вы можете переопределить это автоопределение, специфицировав «IFX_LIBDIR», «IFX_LIBS» и «IFX_INCDIR» в окружении. Скрипт configure также попытается определить версию вашего сервера Informix. Он установит переменную условной компиляции «HAVE_IFX_IUS», если ваша версия Informix >= 9.00.

Примечание: убедитесь, что переменные окружения Informix INFORMIXDIR и INFORMIXSERVER доступны для PHP ifx-драйвера и что директория INFORMIX bin находится в PATH. Проверьте это, запустив скрипт, содержащий вызов phpinfo() , прежде чем начать тестирование. На выводе phpinfo() эти переменные должны быть перечислены. Это TRUE как для CGI php, так и для Apache mod_php. Вам может понадобиться установить эти переменные окружения в стартовом скрипте вашего Apache.

Совместно используемые библиотеки Informix также должны быть доступны загрузчику (проверьте LD_LINBRARY_PATH или ld.so.conf/ldconfig).

Некоторые замечания об использовании BLOB’ов (столбцы TEXT и BYTE): BLOB’ы нормально адресуются BLOB-идентификаторами. Запросы выборки возвращают «blob даст вам filename. Используйте нормальный I/O файлов для получения содержимого blob.

Для запросов insert/update вы обязаны создать эти «blob id’ы» самостоятельно с помощью » ifx_create_blob() ;». Затем подключите blob id’ы в массив и заместите blob-столбцы знаком вопроса (?) в строке запроса. Для update/insert вы ответственны за установку blob-содержимого с помощью ifx_update_blob() .

Поведение BLOB-столбцов может быть изменено переменными конфигурации, что также можно сделать на этапе прогона программы:

переменная конфигурации : ifx.textasvarchar

переменная конфигурации : ifx.byteasvarchar

ifx_textasvarchar(0) : использовать blob id’ы для select-запросов со столбцами TEXT

ifx_byteasvarchar(0) : использовать blob id’ы для select-запросов со столбцами BYTE

ifx_textasvarchar(1) : возвращать столбцы TEXT, как если бы они были столбцами VARCHAR, чтобы вам не нужно было использовать blob id’ы дляselect-запросов

ifx_byteasvarchar(1) : возвращать столбцы BYTE, как если бы они были столбцами VARCHAR, чтобы вам не нужно было использовать blob id’ы для select-запросов

переменная конфигурации : ifx.blobinfile

ifx_blobinfile_mode(0) : возвращать столбцы BYTE в памяти, blob id позволяет получать содержимое

ifx_blobinfile_mode(1) : возвращать столбцы BYTE в файле, blob id позволяет получать имя файла

Если вы устанавливаете для ifx_text/byteasvarchar значение 1, вы можете использовать столбцы TEXT и BYTE в select-запросах, как нормальные (но всё же long) поля VARCHAR. Поскольку все строки «подсчитаны» в PHP, он остаётся «binary safe». Вы обязаны обработать это корректно. Возвращаемые данные могут содержать всё что угодно, вы отвечаете за содержимое.

Если вы устанавливаете для ifx_blobinfile значение 1, используйте имя файла, возвращаемое ifx_get_blob(..), для получения blob-содержимого. Заметьте, что в этом случае ВЫ ОТВЕЧАЕТЕ ЗА УДАЛЕНИЕ ВРЕМЕННЫХ ФАЙЛОВ, СОЗДАННЫХ INFORMIX, когда извлекаете ряды. Каждый новый извлечённый ряд создаст новый временный файл для каждого столбца BYTE.

Размещение временных файлов может быть настроено переменной окружения «blobdir», по умолчанию «.» (текущая директория). Что-то вроде putenv(blobdir=tmpblob»); облегчит зачистку временных файлов, случайно пропущенных (имена их всех начинаются с «blb»).

Автоматическая доводка «char»-данных (SQLCHAR и SQLNCHAR): это можно установить переменной окружения

ifx.charasvarchar : если установлено 1, ведомые пробелы автоматически удаляются, давая вам некоторое подобие «отсечения/chopping».

NULL -значения: переменная конфигурации ifx.nullformat (и функция времени выполнения ifx_nullformat() ), если установлена в TRUE , возвратит NULL -столбцы как строку » NULL «, если установлена FALSE , они возвратят пустую строку. Это позволяет вам выбирать между NULL -столбцами и пустыми столбцами.

Это расширение не определяет никаких констант.

Что такое код ifx_update_char

Драйверы Informix для Online (ODS) 7.x, SE 7.x и Universal Server (IUS) 9.x выполнены в «functions/ifx.ec» и «functions/php3_ifx.h». В данный момент написание поддержки ODS 7.2 в известной степени завершено, с полной поддержкой BLOB. Поддержка IUS 9.1 завершена частично: новые типы данных уже есть, но поддержка SLOBS все еще в стадии разработки.

Перед тем, как вы запустите скрипт «configure», убедитесь, что переменная «INFORMIXDIR» установлена.

Конфигурационный скрипт автоопределяет библиотеки и включаемые (include) директории, если вы запустите «configure —with_informix=yes». Вы можете переопределить эти директории, специфицировав переменные окружения «IFX_LIBDIR», «IFX_LIBS» и «IFX_INCDIR». Скрипт также патается автоопределить версию сервера Informix. Он установит переменную условного завершения «HAVE_IFX_IUS», если у вас Informix версии >= 9.00.

Несколько замечаний по использованию BLOB:

Текущая версия (18 Сентября 1998) полностью поддерживает select/insert/update для BLOB.

BLOBы в общем случае адрексуются целочисленными идентификаторами BLOB. Запрос Select возвращает «blob возвратит вам имя файла. Для получения содержания используйте стандартные операции файлового ввода/вывода

Для запросов insert/update вам неоходимо создать «blob id’s» своими силами, используя «ifx_create_blob(..);». Затем включите идентификатор BLOB в массив и замените колонку BLOB знаком вопроса (?) в строке запроса. Для updates/inserts вы определяете содержание BLOB, используя ifx_update_blob(. ).

Поведение колонок BLOB может быт изменено конфигурационными переменными, которые можно устанавлиавать и во время выполнения:

конфигурационная переменная : ifx.textasvarchar

конфигурационная переменная : ifx.byteasvarchar

функция времени выполнения :

ifx_textasvarchar(0) : использовать идентификатор BLOB для запросов select для колонок TEXT.

ifx_byteasvarchar(0) : использовать идентификатор BLOB для запросов select для колонок BYTE.

ifx_textasvarchar(1) : возвращать колонку TEXT так, как будто это VARCHAR, без использования идентификатора BLOB для запросов select.

ifx_byteasvarchar(1) : возвращать колонку BYTE так, как будто это VARCHAR, без использования идентификатора BLOB для запросов select.

Конфигурационная переменная : ifx.blobinfile

функция времени выполнения :

ifx_blobinfile_mode(0) : возвращать колонку BYTE в память, идентификатор BLOB позволяет получить содержание.

ifx_blobinfile_mode(1) : возвращать колонку BBYTE в файл, по идентификатору BLOB — имя файла

Если вы устанавливаете ifx_text/byteasvarchar в 1, то можете использовать колонки TEXT и BYTE в запросах select как обычные (но довольно длинные) поля VARCHAR. С тех пор, как все строки в PHP3 «счетные», это напоминает «бинарную безопасность». Возвращаемые данные могут содержать все, что угодно, вы отвечаете за содержимое.

Если вы устанавливаете ifx_blobinfile в 1, используйте имя файла, возвращаемое ifx_get_blob(..) для получения бинарного содержания. Заметим, что в этом случае ВЫ ОТВЕТСТВЕННЫ ЗА УДАЛЕНИЕ ВРЕМЕННЫХ ФАЙЛОВ, СОЗДАННЫХ INFORMIX при выборке ряда. Каждый новый выбранный ряд создает новые временные файлы для каждой колонки типа BYTE.

Местоположение временных файлов указывается в переменной окружения «blobdir», по умолчанию — «.» (текущая директория). Что-то вроде putenv(blobdir=»tmpblob»); облегчит удаление случайно оставленных временных файлов (имена всех таких файлов начинаются с «blb»).

Автоудаление пробелов для данных «char» (SQLCHAR и SQLNCHAR):

Может быть устанвлено в конфигурационной переменной :

ifx.charasvarchar : если установлена в 1 , то концевые пробелы будут удаляться автоматически.

ifx_connect

Описание

int ifx_connect (string [ database ], string [ userid ], string [ password ]);

При успешном завершении возвращает идентификатор соединения, при ошибке — false.

ifx_connect() устанавливает соединение к серверу Informix. Все аргументы опциональны и при их отсутствии берутся установки по умолчанию, из файла php3.ini: хост — ifx.default_host (если не определено, то библиотеки Informix используют переменную окружения $INFORMIXSERVER), пользователь — ifx.default_user, пароль — ifx.default_password (может быть не определен).

В случае повтороного вызова функции ifx_connect() с теми же параметрами, новое соединение установлено не будет, а возвратится идентификатор уже установленного соединения.pened link

Ссылка к серверу будет уничтожена, как только завершится выполнение скрипта, если только она не будет закрыта раньше вызовом ifx_close() .

Смотри также ifx_pconnect() , и ifx_close() .

Примет 1. Соединение с базой данных Informix

ifx_update_char

(PHP 4, PHP ifx_update_char — Updates the content of the char object

Description

Updates the content of the char object for the given char object bid .

Parameters

A char object identifier.

The new data, as a string.

Return Values

Returns TRUE on success or FALSE on failure.

See Also

  • ifx_update_blob() — Updates the content of the blob object

ifx_update_char

(PHP 4, PHP ifx_update_char — Updates the content of the char object

Описание

Updates the content of the char object for the given char object bid .

Список параметров

A char object identifier.

The new data, as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ifx_update_blob() — Updates the content of the blob object

XLIV. жХОЛГЙЙ Informix

дТБКЧЕТ Informix ДМС Informix (IDS) 7.x, SE 7.x, Universal Server (IUS) 9.x Й IDS 2000 ТЕБМЙЪПЧБО Ч «ifx.ec» Й «php3_ifx.h» Ч ДЙТЕЛФПТЙЙ ТБУЫЙТЕОЙС informix. рПДДЕТЦЛБ IDS 7.x ЧЕУШНБ ПУОПЧБФЕМШОБ, У РПМОПК РПДДЕТЦЛПК УФПМВГПЧ BYTE Й TEXT. рПДДЕТЦЛБ IUS 9.x ЮБУФЙЮОП ЪБЧЕТЫЕОБ: ЧЧЕДЕОЩ ОПЧЩЕ ФЙРЩ ДБООЩИ, ОП РПДДЕТЦЛБ SLOB Й CLOB ЧУЈ ЕЭЈ Ч УФБДЙЙ ТБЪТБВПФЛЙ.

ъБНЕЮБОЙС РП ЛПОЖЙЗХТБГЙЙ: ЧБН ОЕПВИПДЙНБ ЧЕТУЙС ESQL/C ДМС ЛПНРЙМСГЙЙ ДТБКЧЕТБ Informix ДМС тот. ESQL/C ЧЕТУЙЙ У 7.2x ДПМЦОЩ ТБВПФБФШ ОПТНБМШОП. ESQL/C СЧМСЕФУС ФЕРЕТШ ЮБУФША Informix Client SDK.

хВЕДЙФЕУШ, ЮФП РЕТЕНЕООБС «INFORMIXDIR» ХУФБОПЧМЕОБ Й ЮФП $INFORMIXDIR/bin ЙНЕЕФУС Ч ЧБЫЕК РЕТЕНЕООПК ПЛТХЦЕОЙС PATH, РТЕЦДЕ ЮЕН ЪБРХУЛБФШ УЛТЙРФ «configure».

рТЙНЕЮБОЙЕ: УЛТЙРФ configure ВХДЕФ БЧФПНБФЙЮЕУЛЙ ПРТЕДЕМСФШ ДЙТЕЛФПТЙЙ ВЙВМЙПФЕЛ Й include, ЕУМЙ ЧЩ ЪБРХУФЙФЕ configure —with_informix=yes . чЩ НПЦЕФЕ РЕТЕПРТЕДЕМЙФШ ЬФП БЧФППРТЕДЕМЕОЙЕ, УРЕГЙЖЙГЙТПЧБЧ «IFX_LIBDIR», «IFX_LIBS» Й «IFX_INCDIR» Ч ПЛТХЦЕОЙЙ. уЛТЙРФ configure ФБЛЦЕ РПРЩФБЕФУС ПРТЕДЕМЙФШ ЧЕТУЙА ЧБЫЕЗП УЕТЧЕТБ Informix. пО ХУФБОПЧЙФ РЕТЕНЕООХА ХУМПЧОПК ЛПНРЙМСГЙЙ «HAVE_IFX_IUS», ЕУМЙ ЧБЫБ ЧЕТУЙС Informix >= 9.00.

рТЙНЕЮБОЙЕ: ХВЕДЙФЕУШ, ЮФП РЕТЕНЕООЩЕ ПЛТХЦЕОЙС Informix INFORMIXDIR Й INFORMIXSERVER ДПУФХРОЩ ДМС PHP ifx-ДТБКЧЕТБ Й ЮФП ДЙТЕЛФПТЙС INFORMIX bin ОБИПДЙФУС Ч PATH. рТПЧЕТШФЕ ЬФП, ЪБРХУФЙЧ УЛТЙРФ, УПДЕТЦБЭЙК ЧЩЪПЧ phpinfo() , РТЕЦДЕ ЮЕН ОБЮБФШ ФЕУФЙТПЧБОЙЕ. оБ ЧЩЧПДЕ phpinfo() ЬФЙ РЕТЕНЕООЩЕ ДПМЦОЩ ВЩФШ РЕТЕЮЙУМЕОЩ. ьФП TRUE ЛБЛ ДМС CGI php, ФБЛ Й ДМС Apache mod_php. чБН НПЦЕФ РПОБДПВЙФШУС ХУФБОПЧЙФШ ЬФЙ РЕТЕНЕООЩЕ ПЛТХЦЕОЙС Ч УФБТФПЧПН УЛТЙРФЕ ЧБЫЕЗП Apache.

уПЧНЕУФОП ЙУРПМШЪХЕНЩЕ ВЙВМЙПФЕЛЙ Informix ФБЛЦЕ ДПМЦОЩ ВЩФШ ДПУФХРОЩ ЪБЗТХЪЮЙЛХ (РТПЧЕТШФЕ LD_LINBRARY_PATH ЙМЙ ld.so.conf/ldconfig).

оЕЛПФПТЩЕ ЪБНЕЮБОЙС ПВ ЙУРПМШЪПЧБОЙЙ BLOB’ПЧ (УФПМВГЩ TEXT Й BYTE): BLOB’Щ ОПТНБМШОП БДТЕУХАФУС BLOB-ЙДЕОФЙЖЙЛБФПТБНЙ. ъБРТПУЩ ЧЩВПТЛЙ ЧПЪЧТБЭБАФ «blob ДБУФ ЧБН filename. йУРПМШЪХКФЕ ОПТНБМШОЩК I/O ЖБКМПЧ ДМС РПМХЮЕОЙС УПДЕТЦЙНПЗП blob.

дМС ЪБРТПУПЧ insert/update ЧЩ ПВСЪБОЩ УПЪДБФШ ЬФЙ «blob id’Щ» УБНПУФПСФЕМШОП У РПНПЭША » ifx_create_blob() ;». ъБФЕН РПДЛМАЮЙФЕ blob id’Щ Ч НБУУЙЧ Й ЪБНЕУФЙФЕ blob-УФПМВГЩ ЪОБЛПН ЧПРТПУБ (?) Ч УФТПЛЕ ЪБРТПУБ. дМС update/insert ЧЩ ПФЧЕФУФЧЕООЩ ЪБ ХУФБОПЧЛХ blob-УПДЕТЦЙНПЗП У РПНПЭША ifx_update_blob() .

рПЧЕДЕОЙЕ BLOB-УФПМВГПЧ НПЦЕФ ВЩФШ ЙЪНЕОЕОП РЕТЕНЕООЩНЙ ЛПОЖЙЗХТБГЙЙ, ЮФП ФБЛЦЕ НПЦОП УДЕМБФШ ОБ ЬФБРЕ РТПЗПОБ РТПЗТБННЩ:

РЕТЕНЕООБС ЛПОЖЙЗХТБГЙЙ : ifx.textasvarchar

РЕТЕНЕООБС ЛПОЖЙЗХТБГЙЙ : ifx.byteasvarchar

ifx_textasvarchar(0) : ЙУРПМШЪПЧБФШ blob id’Щ ДМС select-ЪБРТПУПЧ УП УФПМВГБНЙ TEXT

ifx_byteasvarchar(0) : ЙУРПМШЪПЧБФШ blob id’Щ ДМС select-ЪБРТПУПЧ УП УФПМВГБНЙ BYTE

ifx_textasvarchar(1) : ЧПЪЧТБЭБФШ УФПМВГЩ TEXT, ЛБЛ ЕУМЙ ВЩ ПОЙ ВЩМЙ УФПМВГБНЙ VARCHAR, ЮФПВЩ ЧБН ОЕ ОХЦОП ВЩМП ЙУРПМШЪПЧБФШ blob id’Щ ДМСselect-ЪБРТПУПЧ

ifx_byteasvarchar(1) : ЧПЪЧТБЭБФШ УФПМВГЩ BYTE, ЛБЛ ЕУМЙ ВЩ ПОЙ ВЩМЙ УФПМВГБНЙ VARCHAR, ЮФПВЩ ЧБН ОЕ ОХЦОП ВЩМП ЙУРПМШЪПЧБФШ blob id’Щ ДМС select-ЪБРТПУПЧ

РЕТЕНЕООБС ЛПОЖЙЗХТБГЙЙ : ifx.blobinfile

ifx_blobinfile_mode(0) : ЧПЪЧТБЭБФШ УФПМВГЩ BYTE Ч РБНСФЙ, blob id РПЪЧПМСЕФ РПМХЮБФШ УПДЕТЦЙНПЕ

ifx_blobinfile_mode(1) : ЧПЪЧТБЭБФШ УФПМВГЩ BYTE Ч ЖБКМЕ, blob id РПЪЧПМСЕФ РПМХЮБФШ ЙНС ЖБКМБ

еУМЙ ЧЩ ХУФБОБЧМЙЧБЕФЕ ДМС ifx_text/byteasvarchar ЪОБЮЕОЙЕ 1, ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ УФПМВГЩ TEXT Й BYTE Ч select-ЪБРТПУБИ, ЛБЛ ОПТНБМШОЩЕ (ОП ЧУЈ ЦЕ long) РПМС VARCHAR. рПУЛПМШЛХ ЧУЕ УФТПЛЙ «РПДУЮЙФБОЩ» Ч PHP, ПО ПУФБЈФУС «binary safe». чЩ ПВСЪБОЩ ПВТБВПФБФШ ЬФП ЛПТТЕЛФОП. чПЪЧТБЭБЕНЩЕ ДБООЩЕ НПЗХФ УПДЕТЦБФШ ЧУЈ ЮФП ХЗПДОП, ЧЩ ПФЧЕЮБЕФЕ ЪБ УПДЕТЦЙНПЕ.

еУМЙ ЧЩ ХУФБОБЧМЙЧБЕФЕ ДМС ifx_blobinfile ЪОБЮЕОЙЕ 1, ЙУРПМШЪХКФЕ ЙНС ЖБКМБ, ЧПЪЧТБЭБЕНПЕ ifx_get_blob(..), ДМС РПМХЮЕОЙС blob-УПДЕТЦЙНПЗП. ъБНЕФШФЕ, ЮФП Ч ЬФПН УМХЮБЕ чщ пфчеюбефе ъб хдбмеойе чтенеоощи жбкмпч, упъдбоощи INFORMIX, ЛПЗДБ ЙЪЧМЕЛБЕФЕ ТСДЩ. лБЦДЩК ОПЧЩК ЙЪЧМЕЮЈООЩК ТСД УПЪДБУФ ОПЧЩК ЧТЕНЕООЩК ЖБКМ ДМС ЛБЦДПЗП УФПМВГБ BYTE.

тБЪНЕЭЕОЙЕ ЧТЕНЕООЩИ ЖБКМПЧ НПЦЕФ ВЩФШ ОБУФТПЕОП РЕТЕНЕООПК ПЛТХЦЕОЙС «blobdir», РП ХНПМЮБОЙА «.» (ФЕЛХЭБС ДЙТЕЛФПТЙС). юФП-ФП ЧТПДЕ putenv(blobdir=tmpblob»); ПВМЕЗЮЙФ ЪБЮЙУФЛХ ЧТЕНЕООЩИ ЖБКМПЧ, УМХЮБКОП РТПРХЭЕООЩИ (ЙНЕОБ ЙИ ЧУЕИ ОБЮЙОБАФУС У «blb»).

бЧФПНБФЙЮЕУЛБС ДПЧПДЛБ «char»-ДБООЩИ (SQLCHAR Й SQLNCHAR): ЬФП НПЦОП ХУФБОПЧЙФШ РЕТЕНЕООПК ПЛТХЦЕОЙС

ifx.charasvarchar : ЕУМЙ ХУФБОПЧМЕОП 1, ЧЕДПНЩЕ РТПВЕМЩ БЧФПНБФЙЮЕУЛЙ ХДБМСАФУС, ДБЧБС ЧБН ОЕЛПФПТПЕ РПДПВЙЕ «ПФУЕЮЕОЙС/chopping».

NULL -ЪОБЮЕОЙС: РЕТЕНЕООБС ЛПОЖЙЗХТБГЙЙ ifx.nullformat (Й ЖХОЛГЙС ЧТЕНЕОЙ ЧЩРПМОЕОЙС ifx_nullformat() ), ЕУМЙ ХУФБОПЧМЕОБ Ч TRUE , ЧПЪЧТБФЙФ NULL -УФПМВГЩ ЛБЛ УФТПЛХ » NULL «, ЕУМЙ ХУФБОПЧМЕОБ FALSE , ПОЙ ЧПЪЧТБФСФ РХУФХА УФТПЛХ. ьФП РПЪЧПМСЕФ ЧБН ЧЩВЙТБФШ НЕЦДХ NULL -УФПМВГБНЙ Й РХУФЩНЙ УФПМВГБНЙ.

ьФП ТБУЫЙТЕОЙЕ ОЕ ПРТЕДЕМСЕФ ОЙЛБЛЙИ ЛПОУФБОФ.

Что такое код ifx_update_char

(PHP 3>= 3.0.6, PHP 4)

ifx_update_char — обновляет содержимое char-объекта.

Описание

int ifx_update_char (int bid, string content)

Обновляет содержимое данного char-объекта bid .

content это строка с новыми данными. Возвращает FALSE при ошибке, иначе TRUE .


Назад Оглавление Вперёд
ifx_update_blob Вверх ifxus_close_slob

Материалы, которые находятся на этой страничке, любезно предоставлены Игорем Ивановым

Илон Маск рекомендует:  Getds взять значение регистра ds
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL