diff options
author | Stanislau <stanislau.wolski@gmail.com> | 2011-10-21 11:20:47 +0300 |
---|---|---|
committer | Stanislau <stanislau.wolski@gmail.com> | 2011-10-21 11:20:47 +0300 |
commit | 81ee5bbb46b7ff7f8ba422b226c5270ee3522831 (patch) | |
tree | c39dde09934db9b7d09249a1de5937d7194185a5 /codebase/db_sasql.php | |
parent | 03ded642b82d87380043f55a909f8765bec6cf2a (diff) | |
download | connector-php-81ee5bbb46b7ff7f8ba422b226c5270ee3522831.zip connector-php-81ee5bbb46b7ff7f8ba422b226c5270ee3522831.tar.gz connector-php-81ee5bbb46b7ff7f8ba422b226c5270ee3522831.tar.bz2 |
[add] SQL Anywhere DB wrapper
Diffstat (limited to 'codebase/db_sasql.php')
-rw-r--r-- | codebase/db_sasql.php | 51 |
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 |