DatabaseIterator is a class that use new features of PHP5 (SPL, Iterators, magic methods, ...) to simplify process of iteration with a database. Using a DatabaseIterator, you can work with your database the same mode that you work with arrays.
# Create an ADOConnection require('../libs/adodb5/adodb.inc.php'); $conn = &ADONewConnection('mysql'); $conn->PConnect('localhost', 'root', 'pass', 'database'); # Create a DatabaseIterator instance $databaseIt = new DatabaseIterator($conn); # List tables foreach($databaseIt as $table) { echo $table->name . PHP_EOL; } # Set an internal SQL and list rows using RowIterator::each() method $databaseIt['contents']->select('pk_content, title') ->where('title REGEXP "[[.backslash.]]"'); $foo = create_function('$item', 'echo $item->title . PHP_EOL;'); $databaseIt['contents']->each($foo); # Get CREATE TABLE syntax for current table echo $databaseIt['contents']->getCreateTable(); echo $databaseIt->from('contents')->getCreateTable(); # Insert new data for($i=0; $i<10; $i++) { $std = new stdClass(); $std->pk_evento = ($i+1); $std->fk_content_categories = 0; $std->summary = 'Testing '.$i; $std->body = 'Proba '.$i; $std->img = 0; $databaseIt['events']->insert($std); } # Alternative syntax $row = $databaseIt['events']->newRow(); $row->insert($std); o $databaseIt['events']->insert($std); # Update/delete a row $databaseIt['events'][0]->summary = 'Hello'; $databaseIt['events'][0]->update(); $databaseIt['events'][0]->delete(); # Using adodb capabilities (transactions) $conn->BeginTrans(); foreach($rows as $row) { $row->permalink = preg_replace('/[^a-zA-Z0-9_\-\/\.]/', '', $row->permalink); $row->update(); } echo('Done.'); $conn->RollbackTrans(); // or $conn->CommitTrans();