Source of packages/Combie/Db/Driver/Sqlite.php
<?php
/**
 * Sqlite Driver
 *
 * @filesource
 * @author Combie <uli@combie.de>
 * @version $Id$
 * @package Combie
 * @subpackage DB
 */
namespace Combie\Db\Driver ;
use Combie\Db;
/**
 * Sqlite Driver
 *
 * @package Combie
 * @subpackage DB
 */
class Sqlite implements \Combie\Idb
{
/**
 * SQLite Conncet Handle
 *
 */
  private $handle = FALSE;
  
  public function __construct($dburl)
  {
    if(!function_exists('sqlite_open')) Throw new Db\DbException('sqlite Erweiterung nicht geladen');
    $path = parse_url($dburl);
    $this->handle = sqlite_open(trim($path['path'],"/"));
    if(FALSE === $this->handle) Throw new Db\DbException('Can not open: '.$dburl);
  }
  public function __destruct()
  {
    if(is_resource($this->handle))
        sqlite_close($this->handle);
  }
  public function query($query)
  {
    $res = sqlite_query($query,$this->handle);
    if(sqlite_last_error($this->handle))
      Throw new Db\DbException(sqlite_error_string(sqlite_last_error($this->handle)));
    return new Db\Result($this,$res);
  }
  
  public function free($res)
  {
    // do nothing
  }
  
  public function fetch($res)
  {
      return sqlite_fetch_array($res,SQLITE_ASSOC);
  }
  public function numrows($res)
  {
    return sqlite_num_rows($res);
  }
  public function insertid($res)
  {
    return sqlite_last_insert_rowid($res);
  }
  public function seek($res,$index)
  {
    return sqlite_seek ($res,$index);
  }
}
?>