62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/*
 | 
						|
V5.11 5 May 2010   (c) 2000-2010 John Lim (jlim#natsoft.com). All rights reserved.
 | 
						|
  Released under both BSD license and Lesser GPL library license.
 | 
						|
  Whenever there is any discrepancy between the two licenses,
 | 
						|
  the BSD license will take precedence.
 | 
						|
 | 
						|
  Portable version of sqlite driver, to make it more similar to other database drivers.
 | 
						|
  The main differences are
 | 
						|
 | 
						|
   1. When selecting (joining) multiple tables, in assoc mode the table
 | 
						|
   	  names are included in the assoc keys in the "sqlite" driver.
 | 
						|
	  
 | 
						|
	  In "sqlitepo" driver, the table names are stripped from the returned column names. 
 | 
						|
	  When this results in a conflict,  the first field get preference.
 | 
						|
 | 
						|
	Contributed by Herman Kuiper  herman#ozuzo.net  
 | 
						|
*/
 | 
						|
 | 
						|
if (!defined('ADODB_DIR')) die();
 | 
						|
 | 
						|
include_once(ADODB_DIR.'/drivers/adodb-sqlite.inc.php');
 | 
						|
 | 
						|
class ADODB_sqlitepo extends ADODB_sqlite {
 | 
						|
   var $databaseType = 'sqlitepo';
 | 
						|
 | 
						|
   function ADODB_sqlitepo()
 | 
						|
   {
 | 
						|
      $this->ADODB_sqlite();
 | 
						|
   }
 | 
						|
}
 | 
						|
 | 
						|
/*--------------------------------------------------------------------------------------
 | 
						|
       Class Name: Recordset
 | 
						|
--------------------------------------------------------------------------------------*/
 | 
						|
 | 
						|
class ADORecordset_sqlitepo extends ADORecordset_sqlite {
 | 
						|
 | 
						|
   var $databaseType = 'sqlitepo';
 | 
						|
 | 
						|
   function ADORecordset_sqlitepo($queryID,$mode=false)
 | 
						|
   {
 | 
						|
      $this->ADORecordset_sqlite($queryID,$mode);
 | 
						|
   }
 | 
						|
   
 | 
						|
   // Modified to strip table names from returned fields
 | 
						|
   function _fetch($ignore_fields=false)
 | 
						|
   {
 | 
						|
      $this->fields = array();
 | 
						|
      $fields = @sqlite_fetch_array($this->_queryID,$this->fetchMode);
 | 
						|
      if(is_array($fields))
 | 
						|
         foreach($fields as $n => $v)
 | 
						|
         {
 | 
						|
            if(($p = strpos($n, ".")) !== false)
 | 
						|
               $n = substr($n, $p+1);
 | 
						|
            $this->fields[$n] = $v;
 | 
						|
         }
 | 
						|
 | 
						|
      return !empty($this->fields);
 | 
						|
   }
 | 
						|
}
 | 
						|
?>
 |