[6779] | 1 | <?php |
---|
| 2 | /* |
---|
| 3 | V4.94 23 Jan 2007 (c) 2000-2007 John Lim (jlim#natsoft.com.my). All rights reserved. |
---|
| 4 | Released under both BSD license and Lesser GPL library license. |
---|
| 5 | Whenever there is any discrepancy between the two licenses, |
---|
| 6 | the BSD license will take precedence. |
---|
| 7 | |
---|
| 8 | Portable version of sqlite driver, to make it more similar to other database drivers. |
---|
| 9 | The main differences are |
---|
| 10 | |
---|
| 11 | 1. When selecting (joining) multiple tables, in assoc mode the table |
---|
| 12 | names are included in the assoc keys in the "sqlite" driver. |
---|
| 13 | |
---|
| 14 | In "sqlitepo" driver, the table names are stripped from the returned column names. |
---|
| 15 | When this results in a conflict, the first field get preference. |
---|
| 16 | |
---|
| 17 | Contributed by Herman Kuiper herman#ozuzo.net |
---|
| 18 | */ |
---|
| 19 | |
---|
| 20 | if (!defined('ADODB_DIR')) die(); |
---|
| 21 | |
---|
| 22 | include_once(ADODB_DIR.'/drivers/adodb-sqlite.inc.php'); |
---|
| 23 | |
---|
| 24 | class ADODB_sqlitepo extends ADODB_sqlite { |
---|
| 25 | var $databaseType = 'sqlitepo'; |
---|
| 26 | |
---|
| 27 | function ADODB_sqlitepo() |
---|
| 28 | { |
---|
| 29 | $this->ADODB_sqlite(); |
---|
| 30 | } |
---|
| 31 | } |
---|
| 32 | |
---|
| 33 | /*-------------------------------------------------------------------------------------- |
---|
| 34 | Class Name: Recordset |
---|
| 35 | --------------------------------------------------------------------------------------*/ |
---|
| 36 | |
---|
| 37 | class ADORecordset_sqlitepo extends ADORecordset_sqlite { |
---|
| 38 | |
---|
| 39 | var $databaseType = 'sqlitepo'; |
---|
| 40 | |
---|
| 41 | function ADORecordset_sqlitepo($queryID,$mode=false) |
---|
| 42 | { |
---|
| 43 | $this->ADORecordset_sqlite($queryID,$mode); |
---|
| 44 | } |
---|
| 45 | |
---|
| 46 | // Modified to strip table names from returned fields |
---|
| 47 | function _fetch($ignore_fields=false) |
---|
| 48 | { |
---|
| 49 | $this->fields = array(); |
---|
| 50 | $fields = @sqlite_fetch_array($this->_queryID,$this->fetchMode); |
---|
| 51 | if(is_array($fields)) |
---|
| 52 | foreach($fields as $n => $v) |
---|
| 53 | { |
---|
| 54 | if(($p = strpos($n, ".")) !== false) |
---|
| 55 | $n = substr($n, $p+1); |
---|
| 56 | $this->fields[$n] = $v; |
---|
| 57 | } |
---|
| 58 | |
---|
| 59 | return !empty($this->fields); |
---|
| 60 | } |
---|
| 61 | } |
---|
| 62 | ?> |
---|