summaryrefslogtreecommitdiffstats
path: root/codebase
diff options
context:
space:
mode:
authorStanislau <stanislau.wolski@gmail.com>2011-10-21 11:20:47 +0300
committerStanislau <stanislau.wolski@gmail.com>2011-10-21 11:20:47 +0300
commit81ee5bbb46b7ff7f8ba422b226c5270ee3522831 (patch)
treec39dde09934db9b7d09249a1de5937d7194185a5 /codebase
parent03ded642b82d87380043f55a909f8765bec6cf2a (diff)
downloadconnector-php-81ee5bbb46b7ff7f8ba422b226c5270ee3522831.zip
connector-php-81ee5bbb46b7ff7f8ba422b226c5270ee3522831.tar.gz
connector-php-81ee5bbb46b7ff7f8ba422b226c5270ee3522831.tar.bz2
[add] SQL Anywhere DB wrapper
Diffstat (limited to 'codebase')
-rw-r--r--codebase/db_sasql.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/codebase/db_sasql.php b/codebase/db_sasql.php
new file mode 100644
index 0000000..f8eed78
--- /dev/null
+++ b/codebase/db_sasql.php
@@ -0,0 +1,51 @@
+<?php
+require_once("db_common.php");
+/*! SaSQL implementation of DataWrapper
+**/
+class SaSQLDBDataWrapper extends DBDataWrapper{
+ private $last_id=""; //!< ID of previously inserted record
+
+ public function query($sql){
+ LogMaster::log($sql);
+ $res=sasql_query($this->connection, $sql);
+ if ($res===false) throw new Exception("SaSQL operation failed\n".sasql_error($this->connection));
+ $this->last_result = $res;
+ return $res;
+ }
+
+ public function get_next($res){
+ if (!$res)
+ $res = $this->last_result;
+
+ return sasql_fetch_assoc($res);
+ }
+
+ protected function get_new_id(){
+ return sasql_insert_id($this->connection);
+ }
+
+ protected function insert_query($data,$request){
+ $sql = parent::insert_query($data,$request);
+ $this->insert_operation=true;
+ return $sql;
+ }
+
+ protected function select_query($select,$from,$where,$sort,$start,$count){
+ $sql="SELECT " ;
+ if ($count)
+ $sql.=" TOP ".($count+$start);
+ $sql.=" ".$select." FROM ".$from;
+ if ($where) $sql.=" WHERE ".$where;
+ if ($sort) $sql.=" ORDER BY ".$sort;
+ return $sql;
+ }
+
+ public function escape($data){
+ return sasql_escape_string($this->connection, $data);
+ }
+
+ public function begin_transaction(){
+ $this->query("BEGIN TRAN");
+ }
+}
+?> \ No newline at end of file