From 2eed7b082f83630301e51f57ca8394de228a8605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs?= Date: Sun, 18 Aug 2019 21:14:58 -0500 Subject: first commit --- public/system/library/db/mssql.php | 79 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 public/system/library/db/mssql.php (limited to 'public/system/library/db/mssql.php') diff --git a/public/system/library/db/mssql.php b/public/system/library/db/mssql.php new file mode 100644 index 0000000..06d3c78 --- /dev/null +++ b/public/system/library/db/mssql.php @@ -0,0 +1,79 @@ +connection = mssql_connect($hostname. ':' . $port, $username, $password)) { + throw new \Exception('Error: Could not make a database connection using ' . $username . '@' . $hostname); + } + + if (!mssql_select_db($database, $this->link)) { + throw new \Exception('Error: Could not connect to database ' . $database); + } + + mssql_query("SET NAMES 'utf8'", $this->connection); + mssql_query("SET CHARACTER SET utf8", $this->connection); + } + + public function query($sql) { + $resource = mssql_query($sql, $this->connection); + + if ($resource) { + if (is_resource($resource)) { + $i = 0; + + $data = array(); + + while ($result = mssql_fetch_assoc($resource)) { + $data[$i] = $result; + + $i++; + } + + mssql_free_result($resource); + + $query = new \stdClass(); + $query->row = isset($data[0]) ? $data[0] : array(); + $query->rows = $data; + $query->num_rows = $i; + + unset($data); + + return $query; + } else { + return true; + } + } else { + throw new \Exception('Error: ' . mssql_get_last_message($this->connection) . '
' . $sql); + } + } + + public function escape($value) { + $unpacked = unpack('H*hex', $value); + + return '0x' . $unpacked['hex']; + } + + public function countAffected() { + return mssql_rows_affected($this->connection); + } + + public function getLastId() { + $last_id = false; + + $resource = mssql_query("SELECT @@identity AS id", $this->connection); + + if ($row = mssql_fetch_row($resource)) { + $last_id = trim($row[0]); + } + + mssql_free_result($resource); + + return $last_id; + } + + public function __destruct() { + mssql_close($this->connection); + } +} \ No newline at end of file -- cgit v1.2.3