Forum und email

DB++ Functions


Varoitus! Tämä laajennus on EKSPERIMENTAALINEN. Tämän laajennuksen ominaisuudet, käyttäytyminen sekä funktioiden nimet ja parametrit voivat muuttua varoituksetta seuraavissa PHP versioissa.


db++, made by the German company » Concept asa, is a relational database system with high performance and low memory and disk usage in mind. While providing SQL as an additional language interface, it is not really a SQL database in the first place but provides its own AQL query language which is much more influenced by the relational algebra than SQL is.

Concept asa always had an interest in supporting open source languages, db++ has had Perl and Tcl call interfaces for years now and uses Tcl as its internal stored procedure language.


This extension relies on external client libraries so you have to have a db++ client installed on the system you want to use this extension on.

» Concept asa provides » db++ Demo versions and » documentation for Linux, some other Unix versions. There is also a Windows version of db++, but this extension doesn't support it (yet).


In order to build this extension yourself you need the db++ client libraries and header files to be installed on your system (these are included in the db++ installation archives by default). You have to run configure with option --with-dbplus to build this extension.

configure looks for the client libraries and header files under the default paths /usr/dbplus, /usr/local/dbplus and /opt/dblus. If you have installed db++ in a different place you have add the installation path to the configure option like this: --with-dbplus=/your/installation/path.

Runtime Configuration

Tämä laajennus ei määrittele yhtäkään direktiiviä php.inissä.

Resource Types


Most db++ functions operate on or return dbplus_relation resources. A dbplus_relation is a handle to a stored relation or a relation generated as the result of a query.

Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

db++ error codes

DB++ Error Codes
PHP Constant db++ constant meaning
DBPLUS_ERR_NOERR (integer) ERR_NOERR Null error condition
DBPLUS_ERR_DUPLICATE (integer) ERR_DUPLICATE Tried to insert a duplicate tuple
DBPLUS_ERR_EOSCAN (integer) ERR_EOSCAN End of scan from rget()
DBPLUS_ERR_EMPTY (integer) ERR_EMPTY Relation is empty (server)
DBPLUS_ERR_CLOSE (integer) ERR_CLOSE The server can't close
DBPLUS_ERR_WLOCKED (integer) ERR_WLOCKED The record is write locked
DBPLUS_ERR_LOCKED (integer) ERR_LOCKED Relation was already locked
DBPLUS_ERR_NOLOCK (integer) ERR_NOLOCK Relation cannot be locked
DBPLUS_ERR_READ (integer) ERR_READ Read error on relation
DBPLUS_ERR_WRITE (integer) ERR_WRITE Write error on relation
DBPLUS_ERR_CREATE (integer) ERR_CREATE Create() system call failed
DBPLUS_ERR_LSEEK (integer) ERR_LSEEK Lseek() system call failed
DBPLUS_ERR_LENGTH (integer) ERR_LENGTH Tuple exceeds maximum length
DBPLUS_ERR_OPEN (integer) ERR_OPEN Open() system call failed
DBPLUS_ERR_WOPEN (integer) ERR_WOPEN Relation already opened for writing
DBPLUS_ERR_MAGIC (integer) ERR_MAGIC File is not a relation
DBPLUS_ERR_VERSION (integer) ERR_VERSION File is a very old relation
DBPLUS_ERR_PGSIZE (integer) ERR_PGSIZE Relation uses a different page size
DBPLUS_ERR_CRC (integer) ERR_CRC Invalid crc in the superpage
DBPLUS_ERR_PIPE (integer) ERR_PIPE Piped relation requires lseek()
DBPLUS_ERR_NIDX (integer) ERR_NIDX Too many secondary indices
DBPLUS_ERR_MALLOC (integer) ERR_MALLOC Malloc() call failed
DBPLUS_ERR_NUSERS (integer) ERR_NUSERS Error use of max users
DBPLUS_ERR_PREEXIT (integer) ERR_PREEXIT Caused by invalid usage
DBPLUS_ERR_ONTRAP (integer) ERR_ONTRAP Caused by a signal
DBPLUS_ERR_PREPROC (integer) ERR_PREPROC Error in the preprocessor
DBPLUS_ERR_DBPARSE (integer) ERR_DBPARSE Error in the parser
DBPLUS_ERR_DBRUNERR (integer) ERR_DBRUNERR Run error in db
DBPLUS_ERR_DBPREEXIT (integer) ERR_DBPREEXIT Exit condition caused by prexit() * procedure
DBPLUS_ERR_WAIT (integer) ERR_WAIT Wait a little (Simple only)
DBPLUS_ERR_CORRUPT_TUPLE (integer) ERR_CORRUPT_TUPLE A client sent a corrupt tuple
DBPLUS_ERR_WARNING0 (integer) ERR_WARNING0 The Simple routines encountered a non fatal error which was corrected
DBPLUS_ERR_PANIC (integer) ERR_PANIC The server should not really die but after a disaster send ERR_PANIC to all its clients
DBPLUS_ERR_FIFO (integer) ERR_FIFO Can't create a fifo
DBPLUS_ERR_PERM (integer) ERR_PERM Permission denied
DBPLUS_ERR_TCL (integer) ERR_TCL TCL_error
DBPLUS_ERR_USER (integer) ERR_USER An error in the use of the library by an application programmer

Table of Contents