Andrew's Web Libraries (AWL)
Loading...
Searching...
No Matches
AwlDatabase.php
1<?php
37require_once('AwlDBDialect.php');
38
39if ( !defined('E_USER_ERROR') ) define('E_USER_ERROR',256);
40
41
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
TranslateSQL( $sql_string)
TranslateAll( $onoff_boolean)
PrepareTranslated( $statement, $driver_options=array())
query( $statement)
prepare( $statement, $driver_options=array())