Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Функции PHP
 
 

Функции 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 id" для каждого столбца BYTE и TEXT. Вы можете получить содержимое с помощью "string_var = ifx_get_blob($blob_id);", если вы выбрали получение BLOB'ов в памяти (с помощью: "ifx_blobinfile(0);"). Если вы предпочитаете получать содержимое BLOB-столбцов в файле, используйте "ifx_blobinfile(1);", а "ifx_get_blob($blob_id);" даст вам 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

runtime-функции :

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

runtime-функция :

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.allow_persistent
"1"
ifx.max_persistent
"-1"
ifx.max_links
"-1"
ifx.default_host
NULL
ifx.default_user
NULL
ifx.default_password
NULL
ifx.blobinfile
"1"
ifx.textasvarchar
"0"
ifx.byteasvarchar
"0"
ifx.charasvarchar
"0"
ifx.nullformat
"0"

Предопределённые константы

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

Содержание

 
ifx_affected_rows - получает количество рядов, задействованных в запросе
ifx_blobinfile_mode - устанавливает blob-режим по умолчанию для всех select-запросов
ifx_byteasvarchar - устанавливает byte-режим по умолчанию
ifx_close - закрывает соединение Informix
ifx_connect - открывает серверное соединение Informix
ifx_copy_blob - дублирует данный blob-объект
ifx_create_blob - создаёт blob-объект
ifx_create_char - создаёт char-объект
ifx_do - выполняет ранее подготовленный SQL-оператор
ifx_error - Возвращает код ошибки последнего вызова Informix
ifx_errormsg - Возвращает сообщение об ошибке последнего вызова Informix
ifx_fetch_row - получает ряд как перечислимый массив
ifx_fieldproperties - выдаёт список свойств SQL-полей
ifx_fieldtypes - выдаёт список Informix SQL-полей
ifx_free_blob - удаляет blob-объект
ifx_free_char - удаляет char-объект
ifx_free_result - освобождает ресурсы для запроса
ifx_get_blob - возвращает содержимое blob-объекта
ifx_get_char - возвращает содержимое char-объекта
ifx_getsqlca - получает содержимое sqlca.sqlerrd[0..5] после запроса
ifx_htmltbl_result - форматирует все ряды запроса в виде HTML-таблицы
ifx_nullformat - устанавливает return-значение по умолчанию при извлечении ряда
ifx_num_fields - возвращает количество столбцов в запросе
ifx_num_rows - подсчитывает ряды, уже извлечённые из запроса
ifx_pconnect - открывает постоянное соединение Informix
ifx_prepare - готовит SQL-оператор для выполнения
ifx_query - отправляет Informix query
ifx_textasvarchar - устанавливает текстовый режим по умолчанию
ifx_update_blob - обновляет содержимое blob-объекта
ifx_update_char - обновляет содержимое char-объекта
ifxus_close_slob - удаляет slob-объект
ifxus_create_slob - создаёт slob-объект и открывает его
ifxus_free_slob - удаляет slob-объект
ifxus_open_slob - открывает slob-объект
ifxus_read_slob - читает n байт slob-объекта
ifxus_seek_slob - устанавливает текущую позицию файла или поиска
ifxus_tell_slob - возвращает текущую позицию файла или поиска
ifxus_write_slob - записывает строку в slob-объект
 
 
 Функции по алфавиту 
   Содержание   
 Функции по категориям 
Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS