PageRenderTime 40ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/system/database/mmsql.php

https://bitbucket.org/jjasko/opencart_serbian
PHP | 79 lines | 59 code | 20 blank | 0 comment | 8 complexity | 0df4dddf018a6312ba474ecb1a2d9842 MD5 | raw file
  1. <?php
  2. final class MSSQL {
  3. private $connection;
  4. public function __construct($hostname, $username, $password, $database) {
  5. if (!$this->connection = mssql_connect($hostname, $username, $password)) {
  6. exit('Error: Could not make a database connection using ' . $username . '@' . $hostname);
  7. }
  8. if (!mssql_select_db($database, $this->connection)) {
  9. exit('Error: Could not connect to database ' . $database);
  10. }
  11. mssql_query("SET NAMES 'utf8'", $this->connection);
  12. mssql_query("SET CHARACTER SET utf8", $this->connection);
  13. mssql_query("SET CHARACTER_SET_CONNECTION=utf8", $this->connection);
  14. }
  15. public function query($sql) {
  16. $resource = mssql_query($sql, $this->connection);
  17. if ($resource) {
  18. if (is_resource($resource)) {
  19. $i = 0;
  20. $data = array();
  21. while ($result = mssql_fetch_assoc($resource)) {
  22. $data[$i] = $result;
  23. $i++;
  24. }
  25. mssql_free_result($resource);
  26. $query = new stdClass();
  27. $query->row = isset($data[0]) ? $data[0] : array();
  28. $query->rows = $data;
  29. $query->num_rows = $i;
  30. unset($data);
  31. return $query;
  32. } else {
  33. return true;
  34. }
  35. } else {
  36. trigger_error('Error: ' . mssql_get_last_message($this->connection) . '<br />' . $sql);
  37. exit();
  38. }
  39. }
  40. public function escape($value) {
  41. return mssql_real_escape_string($value, $this->connection);
  42. }
  43. public function countAffected() {
  44. return mssql_rows_affected($this->connection);
  45. }
  46. public function getLastId() {
  47. $last_id = false;
  48. $resource = mssql_query("SELECT @@identity AS id", $this->connection);
  49. if ($row = mssql_fetch_row($resource)) {
  50. $last_id = trim($row[0]);
  51. }
  52. mssql_free_result($resource);
  53. return $last_id;
  54. }
  55. public function __destruct() {
  56. mssql_close($this->connection);
  57. }
  58. }
  59. ?>