CascadiaPHP 2024

Basic usage

Example #1 DBA example

<?php

$id
= dba_open("/tmp/test.db", "n", "db2");

if (!
$id) {
echo
"dba_open failed\n";
exit;
}

dba_replace("key", "This is an example!", $id);

if (
dba_exists("key", $id)) {
echo
dba_fetch("key", $id);
dba_delete("key", $id);
}

dba_close($id);
?>

DBA is binary safe and does not have any arbitrary limits. However, it inherits all limits set by the underlying database implementation.

All file-based databases must provide a way of setting the file mode of a new created database, if that is possible at all. The file mode is commonly passed as the fourth argument to dba_open() or dba_popen().

You can access all entries of a database in a linear way by using the dba_firstkey() and dba_nextkey() functions. You may not change the database while traversing it.

Example #2 Traversing a database

<?php

// ...open database...

$key = dba_firstkey($id);

while (
$key !== false) {
if (
true) { // remember the key to perform some action later
$handle_later[] = $key;
}
$key = dba_nextkey($id);
}

foreach (
$handle_later as $val) {
dba_delete($val, $id);
}

?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top