Информационные технологииStfw.Ru 🔍

dBase

Взаимодействие с базами данных
🕛 01.11.2006, 14:01
Данная группа функций позволяет работать с данными БД dBase (dbf).

Индексы и memo-поля не поддерживаются. Блокировка также невозможна, поэтому, если два процесса web-сервера одновременно модифицируют один файл dBase, это может привести к его порче.

В отличие от SQL БД структура «БД» dBase не поддается модификации. dBase-файл представляет собой простую последовательность записей фиксированной длины; добавляемые записи дописываются в конец файла, а удаленные сохраняются до вызова функции dbase_ pack().

Рекомендуется использование современных БД, например MySQL или Postgres. Поэтому поддержка dBase в РНР предназначена исключительно для экспорта и импорта (для облегчения обмена с другими приложениями).

dbase_create

Создание БД dBase

int dbase_create (string filename, array fields)

Аргумент fields - это массив массивов, где каждый из массивов описывает одно поле БД (таблицы). Каждое поле состоит из имени, символа, обозначающего тип, и (при необходимости) размера поля и его точности.

Возможные типы полей:

L - двоичное, не имеет точности или размера;
М - Memo. Не поддерживается РНР, не имеет точности или размера;
D - дата, сохраняется как ГГГГММДД, не имеет точности или размера;
N - число, имеет длину и точность (число знаков после запятой);
С - строка.
Если файл БД был успешно создан, возвращается его дескриптор; в противном случае возвращается FALSE.

Sdbname = "/trap/test.dbf": // "database" name ;
' $def = // database "definition" \ array( v
array("date". "D"). arrayC'name". "C". 50).
arrayC'age". "N". 3. 0). array("email","C". 128).
array("ismember". "L") );
if (!dbase_create($dbname, $def)) print "Error!";

dbase_open

Открытие БД dBase

int dbase_open (string filename, int flags)

В аргументе flags указывается режим открытия (0 - только для чтения, 1 - только для записи и 2 - для чтения и записи). Возвращает дескриптор БД или FALSE - при ошибке.

dbase_close

Закрытие БД dBase

bool dbase_close (int dbase_identifier)

dbase_pack

Обновление БД dBase

bool dbase_pack (int dbase_identifier)

При этом удаляются все записи, помеченные с помощью dbase_ delete_record().

dbase_add_record

Добавление записи

bool dbase_add_record (Int dbase_identifier, array record)

Добавляет запись, поля которой содержатся в массиве record в БД. Если число полей записи не соответствует числу полей в БД, добавление не производится и функция возвращает FAbSE.

dbase_replace_record

Замена Записи

bool dbase_replace_record (int dbase_identifier. array record, int dbase_record_number)

Заменяет запись (с номером dbase_record_number), поля которой содержатся в массиве record. Если число полей записи не соответствует числу полей в БД, добавление не производится и функция возвращает FALSF.

Номера записей лежат в пределах от 1 до значения, возвращенного / dbase_numrecords().

dbase_delete_record

Удаление записи

bool dbase_delete_record (int dbasejidentifier. int record)

Помечает запись с номером record для удаления последующим вызовом dbase_pack().

dbase_get_record

Получение записи

array dbase_get_record (int dbasejdentifier, int record)

Возвращает массив, содержащий поля записи с номером record. Массив индексируется начиная с 0 и имеет элемент с индексом «deleted», равный 1, если запись была удалена (см. dbase_delete_record()). Каждое поле преобразуется к соответствующему типу РНР. (Даты сохраняются как строки.)

dbase_get_record_with_names

Занесение записи в ассоциативный массив

array dbase get_record_with_names (int dbase_identifier, int record)

Функция подобна dbase_get_record(), но вместо числовых индексов используются имена полей.

dbase_numrecords

Установление числа записей БД

int dbasejiumrecords (int dbase_identifier)

При обращении к записям БД их возможные номера лежат в пределах от 1 до значения, возвращаемого данной функцией.

dbase_numfields

Установление числа полей БД

int dbasejiumfields (Int dbase_identifier)

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

$гес = dbase_get_record($db. Srecno);
$nf = dbase_numfields($db): for ($1=0; $1 < $nf; $i++)
{ print $rec[$i]."<br>\n". } /*

Учебник по основам PHP   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉