Simple Database Abstraction for PHP across many Databases
CDE is a PHP class which implements the general database functions in PHP and provides a common SQL platform for php development where developers change their databases but not their code. Supports Firebird, MySQL,Oracle,SQLite, MSSQL(both drivers),CUBRID,ODBC. CDE now supports date uniformity, param passing & BLOB handling across all the databases supported.
CDE is not a replacement for PDO, in fact we may implement PDO in CDE to standardize PDO results and calls. Some PDO drivers are still regarded as EXPERIMENTAL on PHP website, so use with caution.
Please make sure of the goals of this project before posting ignorant comments.
- Write code in PHP once for any database platform
- Support all PHP database connectivity (If not supported please request)
- One set of database functions connects to any database (What order does the db handle fall in ibase_connect and mysql_connect?)
- Make PHP database development simple
- Unified Blob support for all databases - no hassle reading and writing BLOBS
- Less Code Overall - Remove 2 to 3 Lines per database transaction
- Automatic PDF reporting from SQL statement using fpdf
- Generate Automatic SQL statements from Form request variables - see Readme
- Full metadata extraction of database using get_database()
- Execute more than one SQL script at a time with ; delimiter
- SMALL!!! Just one include for all database formats supported.
- Uniform date format, specify return date format of fields.
- Parameter passing with ? for all database drivers in exec statement
Nice project, but I also think php already has an uniform interface for connecting and accessing databases: PDO (php data objects). You should use that, and than make sure the parsesql() function knows to translate SQL to the right database type by some other means. Actually, the operating system also has an uniform interface for connecting and accessing databases: ODBC. Can you include support for ODBC in the project ? That will also make it easier for me to add my own database type.. Anyway, great job !
I would recommend this to all developers who want to write their code once and port to other databases. Effectively all database functions are merged into 3 to 4 basic functions so the end result is less code to do the same thing from a database function perspective. Blobs for instance are retrieved (optional) by default when a row is retrieved.
Actually this is not the proper method to interface with databases from php - PDO should be used, see these links for more information: http://php.net/manual/en/book.pdo.php http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/
I would recommend this to all developers to use. This is a great and effective project.