Приложение 1. Типы данных СУБД ЛИНТЕР

Тип данных Описание
LDT_INTEGER Целые числа
LDT_BIGINT Длинное целое
LDT_SMALLINT Короткое целое
LDT_REAL Вещественные числа
LDT_DOUBLE Вещественное двойной точности
LDT_NUMERIC, LDT_DECIMAL Числа с фиксированной точкой1)
LDT_DATE Дата-время
LDT_BLOB BLOB-данные
LDT_CHAR Символьные строки фиксированной длины
LDT_VARCHAR Символьные строки переменной длины
LDT_BYTE Байтовые строки фиксированной длины
LDT_VARBYTE Байтовые строки переменной длины
LDT_BOOLEAN Логическое значение
LDT_NCHAR Unicode-строки фиксированной длины2)
LDT_NVARCHAR Unicode-строки переменной длины2)
LDT_EXTFILE Внешние файлы

1)Данные типа NUMERIC (DECIMAL) выдаются в виде строк. Это влияет на результаты жесткого сравнения (с помощью ==) и на результаты функции gettype(). Чтобы получать этот тип данных в виде LDT_DOUBLE, необходимо в файл настроек php (php.ini) добавить следующие строки:

[linter]
linter.decimal_as_double = On

(это работает для php версии  >= 4.1.0)

См. пример demo9.php в подкаталоге samples\php установочного каталога СУБД ЛИНТЕР.

2)При работе со строками типа NCHAR и NVARCHAR необходимо помнить, что соответствующая этому типу данных кодировка в PHP называется UCS-2. При этом порядок байтов зависит от архитектуры компьютера и его нужно задавать самостоятельно (UCS-2LE или UCS-2BE). Для работы с различными кодировками в PHP можно использовать, например, модуль mbstrings:

if ( !extension_loaded("mbstring") ) dl("php_mbstring.dll")
Linter_Exec_Direct ($con, "select nchar_string from table1 ;");
$data = Linter_Get_Data_Array ($con);
$value = mb_convert_encoding ($data[0], "CP1251", "UCS-2LE");

См. пример demo7.php в подкаталоге samples\php установочного каталога СУБД ЛИНТЕР.