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 | ?> |
---|