summaryrefslogtreecommitdiffstats
path: root/codebase/db_sasql.php
diff options
context:
space:
mode:
authorStanislav <stanislau.wolski@gmail.com>2011-11-11 17:57:23 +0300
committerStanislav <stanislau.wolski@gmail.com>2011-11-11 17:57:23 +0300
commite0ee7661fd524e342cb57b73a098986d85c94fbd (patch)
tree60011a82d7d162987999f3cd6a5c8a47b58c8d86 /codebase/db_sasql.php
parentc83f0293bc6f67ceb4c141c9051683302e1f9d12 (diff)
parent7a79e1d9a75908f8f36c43117dbc1be95ee363fa (diff)
downloadconnector-php-e0ee7661fd524e342cb57b73a098986d85c94fbd.zip
connector-php-e0ee7661fd524e342cb57b73a098986d85c94fbd.tar.gz
connector-php-e0ee7661fd524e342cb57b73a098986d85c94fbd.tar.bz2
Merge branch 'dev' of 192.168.1.251:connector-php into dev
Diffstat (limited to 'codebase/db_sasql.php')
-rw-r--r--codebase/db_sasql.php54
1 files changed, 54 insertions, 0 deletions
diff --git a/codebase/db_sasql.php b/codebase/db_sasql.php
new file mode 100644
index 0000000..85959df
--- /dev/null
+++ b/codebase/db_sasql.php
@@ -0,0 +1,54 @@
+<?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){
+ if (!$from)
+ return $select;
+
+ $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