DBM
Взаимодействие с базами данных
🕛 01.11.2006, 14:01
Эта ipynna функций позволяет манипулировать записями в dbm-БД. ^ Этот тип БД поддерживается системными библиотеками Berkeley DB, GDBM наряду со встроенной поддержкой «плоских файлов». Данные в них сохраняются в виде пар «имя/значение». $dbm = dbmopen ("lastseen". "w");
if (dbmexists ($dbm. $usend)) {
$last_seen = dbmfetch ($dbm. Susend); } else {
dbminsert (Sdbm. Susend. time()); }
do_stuff():
dbmreplace ($dbm. Susend. time()):
dbmclose ($dbm);
dbmopen
Открытие БД DBM
int dbmopen (string filename, string flags)
Первый аргумент содержит полное имя DBM-файла БД, а второй - режим открытия: «г», «w», «n», «с» соответственно для чтения, для
чтения и записи, создание новой БД (для чтения и записи), добавление в имеющуюся БД или ее создание.
Возвращает дескриптор БД, используемый всеми последующими функциями, или FALSE - при ошибке.
При использовании поддержки NDBM, NDBM фактически создает файлы filename.dir и filename.pag. GDBM (как и встроенная библиотека поддержки «плоских файлов») использует только один файл, a Berkeley DB создает файл fllename.db. Заметьте: РНР самостоятельно блокирует файл в дополнение к тому, что он может блокироваться библиотекой DBM. РНР не удаляет файлы .Ick, которые создает.
dbmclose
Закрытие БД DBM
bool dbmclose (int dbm_identifier)
Разблокирует и закрывает открытую БД.
dbmexists
Проверка существования имени
bool dbmexists (int dbm_identifier, string key)
Возвращает TRUE, если имеется значение с именем key, или FALSE - при ошибке.
dbmfetch
Получение значения элемента
string dbmfetch (int dbirMdentifier, string key)
Возвращает значение для имени key.
dbminsert
Добавление элемента
int dbminsert (int dbm_identifier, string key, string value)
Возвращает -1, если БД была открыта только для чтения; 0, если добавление было успешно выполнено; и 1, если указанный элемент уже существует (для замены используйте dbmreplace()).
dbmreplace
Замена значения
bool dbmreplace (int dbm_identifier, string key. string value) Если указанного элемента key не существовало, он создается.
dbmdelete
Удаление элемента
boo! dbmdelete (int dbnMdentifier, string key)
Возвращает FALSE, если элемент key в БД не присутствует.
dbmfirstkey
Получение имени первого элемента
string dbmfirstkey (int dbm_identifier)
Порядок элементов не гарантируется (так как могут использоваться внутренние хеш-таблицы).
dbmnextkey
Получение следующего элемента
string dbmnextkey (int dbm_identifier, string key)
В примере демонстрируется, как можно получить все значения БД:
$key = dbmfirstkey (Sdbmjid). while ($key) {
echo "$key = " . dbmfetch (Sdbmjd. $key) . "\n":
$key = dbmnextkey (Sdbmjd. $key)
dblist
Получение описания используемой библиотеки DBM I
string dblist (void)