diff options
author | Stanislav <stanislau.wolski@gmail.com> | 2011-11-11 17:57:23 +0300 |
---|---|---|
committer | Stanislav <stanislau.wolski@gmail.com> | 2011-11-11 17:57:23 +0300 |
commit | e0ee7661fd524e342cb57b73a098986d85c94fbd (patch) | |
tree | 60011a82d7d162987999f3cd6a5c8a47b58c8d86 /codebase/db_sasql.php | |
parent | c83f0293bc6f67ceb4c141c9051683302e1f9d12 (diff) | |
parent | 7a79e1d9a75908f8f36c43117dbc1be95ee363fa (diff) | |
download | connector-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.php | 54 |
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 |