SQLServerManager.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. class SQLServerManager
  3. {
  4. private $database = "evolucare";
  5. private $server = "NS3368707";
  6. private $login = "intimamediademo";
  7. private $password = "IMT1947;/";
  8. private $connection = null;
  9. private $query = null;
  10. private $result = null;
  11. private $numberOfResults = null;
  12. private $id = null;
  13. function SQLServerManager()
  14. {
  15. }
  16. private function connectionToDatabase()
  17. {
  18. $this->connection = sqlsrv_connect( $this->server, array( "UID"=>$this->login, "PWD"=>$this->password, "Database"=>$this->database) );
  19. if ( !$this->connection )
  20. {
  21. error_log("sqlsrv_connect() failed : please check your connection information");
  22. }
  23. }
  24. private function disconnectionFromDatabase()
  25. {
  26. if( $this->connection != null )
  27. sqlsrv_close($this->connection);
  28. }
  29. private function executeQuery()
  30. {
  31. $this->result = sqlsrv_query( $this->connection, $this->query );
  32. }
  33. private function retrieveNumRows()
  34. {
  35. $this->executeQuery();
  36. $this->numberOfResults = sqlsrv_num_rows( $this->result );
  37. }
  38. public static function queryOnDatabase($query)
  39. {
  40. $sqlServerManager = new SQLServerManager();
  41. $sqlServerManager->query = $query;
  42. $sqlServerManager->connectionToDatabase();
  43. $sqlServerManager->executeQuery();
  44. $sqlServerManager->resultArray = array();
  45. if( $sqlServerManager->result )
  46. {
  47. try
  48. {
  49. while( $row = sqlsrv_fetch_object( $sqlServerManager->result ) )
  50. {
  51. array_push( $sqlServerManager->resultArray, $row );
  52. }
  53. } catch (exception $e) {
  54. return "";
  55. }
  56. return $sqlServerManager->resultArray;
  57. } else {
  58. return $sqlServerManager->resultArray = array();
  59. }
  60. }
  61. public static function getNumRows($query)
  62. {
  63. $sqlServerManager = new SQLServerManager();
  64. $sqlServerManager->query = $query;
  65. $sqlServerManager->connectionToDatabase();
  66. $sqlServerManager->retrieveNumRows();
  67. return $sqlServerManager->numberOfResults;
  68. }
  69. public static function getLastId($table, $transaction)
  70. {
  71. $query = "SELECT id FROM $table WHERE ID = @@Identity;";
  72. $resource = sqlsrv_query( $transaction, $query );
  73. $id = sqlsrv_fetch_object( $resource );
  74. return $id->id;
  75. }
  76. public static function startTransaction()
  77. {
  78. $sqlServerManager = new SQLServerManager();
  79. $sqlServerManager->connectionToDatabase();
  80. if( sqlsrv_begin_transaction( $sqlServerManager->connection ) === false )
  81. {
  82. return false;
  83. }
  84. return $sqlServerManager->connection;
  85. }
  86. public static function executeQueryForTransaction($query, $transaction)
  87. {
  88. return sqlsrv_query( $transaction, $query );
  89. }
  90. public static function commitTransaction($transaction)
  91. {
  92. sqlsrv_commit( $transaction );
  93. }
  94. public static function rollBackTransaction($transaction)
  95. {
  96. sqlsrv_rollback( $transaction );
  97. }
  98. public static function convertStringToSQLServer($string)
  99. {
  100. return str_replace( "'", "''", utf8_decode( $string ) );
  101. }
  102. }
  103. ?>