public
Description: PHP database abstraction class
Home | Edit | New

Home

ezDB

By Nabeel Shahzad, based on ezSQL, by Justin Vincent (http://www.woyano.com/)

Why ezDB

For when you don’t need full-fledged ORM, but you still need a light-weight, flexible abstraction layer with updated support for PHP 5 specific features, and additional functionality.

Updates and Changes

I haven’t “released” a stable version just yet, until I finish a couple of things. The class, as it is now, does work properly, I try to keep it in a working state between commits.

Version 3.0, New Features

  • PHP 5 Compatible
  • Static class interface (no more globals, woo)
  • MySQLi support (binding statements to come)
  • Inline PHPDoc comments for Intelli-sense enabled editors
  • Additional functionality, of quick_select(), quick_update(), quick_insert()
  • Improved error logging and handling using try/catch

Upcoming Features

  • memcache caching support
  • Improvements to memory usage
  • PHP 5.3 compatibility (namespaces support)

Examples

Real simple example:

$db = new ezDB_mysql();
$db->connect('mysql_user', 'password', 'localhost');
$db->select('db_name');

$results = $db->get_results('SELECT * FROM users');

foreach($results as $row)
{
   echo "User {$row->id}: {$row->username}, {$row->email}<br />";
}

Error-handling, galore

$db = new ezDB_mysql();
try {
   $db->connect('mysql_user', 'password', 'localhost');
   $db->select('db_name');
} catch (ezDB_Error $e)
{
   echo "Error occured: {$e->error} (code: {$e->errno})";
   die();
}

try {
   $results = $db->get_results('SELECT * FROM users');
} catch (ezDB_Error $e)
{
   echo "Error occured: {$e->error} (code: {$e->errno})";
   die();
}

foreach($results as $row)
{
   echo "User {$row->id}: {$row->username}, {$row->email}<br />";
}

Last edited by nshahzad, Wed Jul 01 13:16:41 -0700 2009
Home | Edit | New
Versions: