C:/lib/adodb/drivers/adodb-mysqlpo.inc.php Quellcode

adodb-mysqlpo.inc.php
gehe zur Dokumentation dieser Datei
1 <?php
2 
3 /*
4 V5.19dev ??-???-2014 (c) 2000-2014 John Lim (jlim#natsoft.com). All rights reserved.
5  Released under both BSD license and Lesser GPL library license.
6  Whenever there is any discrepancy between the two licenses,
7  the BSD license will take precedence.
8  Set tabs to 8.
9 
10  MySQL code that supports transactions. For MySQL 3.23 or later.
11  Code from James Poon <jpoon88@yahoo.com>
12 
13  Requires mysql client. Works on Windows and Unix.
14 */
15 
16 // security - hide paths
17 if (!defined('ADODB_DIR')) die();
18 
19 include_once(ADODB_DIR."/drivers/adodb-mysql.inc.php");
20 
21 
22 class ADODB_mysqlt extends ADODB_mysql {
23  var $databaseType = 'mysqlt';
24  var $ansiOuter = true; // for Version 3.23.17 or later
25  var $hasTransactions = true;
26  var $autoRollback = true; // apparently mysql does not autorollback properly
27 
28  function ADODB_mysqlt()
29  {
30  global $ADODB_EXTENSION; if ($ADODB_EXTENSION) $this->rsPrefix .= 'ext_';
31  }
32 
33  function BeginTrans()
34  {
35  if ($this->transOff) return true;
36  $this->transCnt += 1;
37  $this->Execute('SET AUTOCOMMIT=0');
38  $this->Execute('BEGIN');
39  return true;
40  }
41 
42  function CommitTrans($ok=true)
43  {
44  if ($this->transOff) return true;
45  if (!$ok) return $this->RollbackTrans();
46 
47  if ($this->transCnt) $this->transCnt -= 1;
48  $this->Execute('COMMIT');
49  $this->Execute('SET AUTOCOMMIT=1');
50  return true;
51  }
52 
53  function RollbackTrans()
54  {
55  if ($this->transOff) return true;
56  if ($this->transCnt) $this->transCnt -= 1;
57  $this->Execute('ROLLBACK');
58  $this->Execute('SET AUTOCOMMIT=1');
59  return true;
60  }
61 
62  function RowLock($tables,$where='',$col='1 as adodbignore')
63  {
64  if ($this->transCnt==0) $this->BeginTrans();
65  if ($where) $where = ' where '.$where;
66  $rs = $this->Execute("select $col from $tables $where for update");
67  return !empty($rs);
68  }
69 
70 }
71 
72 class ADORecordSet_mysqlt extends ADORecordSet_mysql{
73  var $databaseType = "mysqlt";
74 
75  function ADORecordSet_mysqlt($queryID,$mode=false)
76  {
77  if ($mode === false) {
78  global $ADODB_FETCH_MODE;
79  $mode = $ADODB_FETCH_MODE;
80  }
81 
82  switch ($mode)
83  {
84  case ADODB_FETCH_NUM: $this->fetchMode = MYSQL_NUM; break;
85  case ADODB_FETCH_ASSOC:$this->fetchMode = MYSQL_ASSOC; break;
86 
87  case ADODB_FETCH_DEFAULT:
88  case ADODB_FETCH_BOTH:
89  default: $this->fetchMode = MYSQL_BOTH; break;
90  }
91 
92  $this->adodbFetchMode = $mode;
93  $this->ADORecordSet($queryID);
94  }
95 
96  function MoveNext()
97  {
98  if (@$this->fields = mysql_fetch_array($this->_queryID,$this->fetchMode)) {
99  $this->_currentRow += 1;
100  return true;
101  }
102  if (!$this->EOF) {
103  $this->_currentRow += 1;
104  $this->EOF = true;
105  }
106  return false;
107  }
108 }
109 
111 
112  function ADORecordSet_ext_mysqlt($queryID,$mode=false)
113  {
114  if ($mode === false) {
115  global $ADODB_FETCH_MODE;
116  $mode = $ADODB_FETCH_MODE;
117  }
118  switch ($mode)
119  {
120  case ADODB_FETCH_NUM: $this->fetchMode = MYSQL_NUM; break;
121  case ADODB_FETCH_ASSOC:$this->fetchMode = MYSQL_ASSOC; break;
122 
123  case ADODB_FETCH_DEFAULT:
124  case ADODB_FETCH_BOTH:
125  default:
126  $this->fetchMode = MYSQL_BOTH; break;
127  }
128  $this->adodbFetchMode = $mode;
129  $this->ADORecordSet($queryID);
130  }
131 
132  function MoveNext()
133  {
134  return adodb_movenext($this);
135  }
136 }
137 
138 ?>




Korrekturen, Hinweise und Ergänzungen

Bitte scheuen Sie sich nicht und melden Sie, was auf dieser Seite sachlich falsch oder irreführend ist, was ergänzt werden sollte, was fehlt usw. Dazu bitte oben aus dem Menü Seite den Eintrag Support Forum wählen. Es ist eine kostenlose Anmeldung erforderlich, um Anmerkungen zu posten. Unpassende Postings, Spam usw. werden kommentarlos entfernt.