dba_handlers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

dba_handlersList all the handlers available

Description

dba_handlers(bool $full_info = false): array

dba_handlers() list all the handlers supported by this extension.

Parameters

full_info

Turns on/off full information display in the result.

Return Values

Returns an array of database handlers. If full_info is set to true, the array will be associative with the handlers names as keys, and their version information as value. Otherwise, the result will be an indexed array of handlers names.

Note:

When the internal cdb library is used you will see cdb and cdb_make.

Examples

Example #1 dba_handlers() Example

<?php

echo "Available DBA handlers:\n";
foreach (
dba_handlers(true) as $handler_name => $handler_version) {
/ clean the versions
$handler_version = str_replace('$', '', $handler_version);
echo
" - $handler_name: $handler_version\n";
}

?>

The above example will output something similar to:

Available DBA handlers:
 - cdb: 0.75, Revision: 1.3.2.3 
 - cdb_make: 0.75, Revision: 1.2.2.4 
 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
 - inifile: 1.0, Revision: 1.6.2.3 
 - flatfile: 1.0, Revision: 1.5.2.4

add a note

User Contributed Notes 1 note

up
1
cbemerine at gmail dot com
15 years ago
A quick way to see which DBA handlers, without version numbers, that have been built into your version of MySQL on your system, use var_dump with dba_handler() as follows:

<?php
var_dump
( "dba_handlers()" );
?>

Many distros build in these DBA Handlers by default:
array(5) { [0]=> string(3) "cdb" [1]=> string(8) "cdb_make" [2]=> string(3) "db4" [3]=> string(7) "inifile" [4]=> string(8) "flatfile" }

using print and pre tags for readability:

array(5) {

[0]=>

string(3) "cdb"

[1]=>

string(8) "cdb_make"

[2]=>

string(3) "db4"

[3]=>

string(7) "inifile"

[4]=>

string(8) "flatfile"

}

Note there are issues with dba_insert and dba_replace without building for either GDBM or QDBM.
Here are two sources for the list of DBA handlers: (http://qdbm.sourceforge.net/benchmark.pdf);

QDBM seems to offer significant improvements in speed over the other DBA Handlers, test in your environment to verify the results.
To Top

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant