Andrew's Web Libraries (AWL)
AwlDatabase.php
1 <?php
37 require_once('AwlDBDialect.php');
38 
39 if ( !defined('E_USER_ERROR') ) define('E_USER_ERROR',256);
40 
41 
58 class AwlDatabase extends AwlDBDialect {
66  protected $txnstate = 0;
67 
71  protected $translate_all = false;
72 
80  function prepare( $statement, $driver_options = array() ) {
81  if ( isset($this->translate_all) && $this->translate_all ) {
82  $statement = $this->TranslateSQL( $statement );
83  }
84  return $this->db->prepare( $statement, $driver_options );
85  }
86 
87 
93  function query( $statement ) {
94  return $this->db->query( $statement );
95  }
96 
97 
101  function Begin() {
102  if ( $this->txnstate == 0 ) {
103  $this->db->beginTransaction();
104  $this->txnstate = 1;
105  }
106  else {
107  fatal("Cannot begin a transaction while a transaction is already active.");
108  }
109  return true;
110  }
111 
112 
116  function Commit() {
117  if ( $this->txnstate != 0 ) {
118  $this->db->commit();
119  $this->txnstate = 0;
120  }
121  return true;
122  }
123 
124 
128  function Rollback() {
129  if ( $this->txnstate != 0 ) {
130  $this->db->rollBack();
131  $this->txnstate = 0;
132  }
133  else {
134  throw new Exception("Cannot rollback unless a transaction is already active.");
135  }
136  return true;
137  }
138 
139 
145  function TransactionState() {
146  return $this->txnstate;
147  }
148 
149 
154  function PrepareTranslated( $statement, $driver_options = array() ) {
155  $statement = $this->TranslateSQL( $statement );
156  return $this->prepare( $statement, $driver_options );
157  }
158 
159 
164  function TranslateAll( $onoff_boolean ) {
165  $this->translate_all = $onoff_boolean;
166  return $onoff_boolean;
167  }
168 
169 
173  function ErrorInfo() {
174  return $this->db->errorInfo();
175  }
176 
177 }
178 
179 
query( $statement)
Definition: AwlDatabase.php:93
prepare( $statement, $driver_options=array())
Definition: AwlDatabase.php:80
TranslateAll( $onoff_boolean)
PrepareTranslated( $statement, $driver_options=array())
TranslateSQL( $sql_string)