PEAR MDB2 is a merge of the PEAR DB and Metabase php database abstraction layers.
It provides a common API for all support RDBMS. The main difference to most other DB abstraction packages is that MDB2 goes much further to ensure portability. Among other things MDB2 features:
An OO-style query API
A DSN (data source name) or array format for specifying database servers
Datatype abstraction and on demand datatype conversion
Portable error codes
Sequential and non sequential row fetching as well as bulk fetching
Ability to make buffered and unbuffered queries
Ordered array and associative array for the fetched rows
Prepare/execute (bind) emulation
Sequence emulation
Replace emulation
Limited Subselect emulation
Row limit support
Transactions support
Large Object support
Index/Unique support
Module Framework to load advanced functionality on demand
Table information interface
RDBMS management methods (creating, dropping, altering)
RDBMS independent XML based schema definition management
Altering of a DB from a changed XML schema
Reverse engineering of XML schemas from an existing DB (currently only MySQL)
Full integration into the PEAR Framework
PHPDoc API documentation
Currently supported RDBMS:
MySQL
PostgreSQL
Oracle
Frontbase
Querysim
Interbase/Firebird
MSSQL
SQLite
Others to follow soon.