migration.mssql.class.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. *
  4. */
  5. class MigrationMSSQL extends Migration {
  6. public function __construct($dbhost, $dbport = '1433', $dbuser, $dbpass, $dbname) {
  7. parent::__construct($dbhost, $dbport, $dbuser, $dbpass, $dbname);
  8. ini_set('display_errors', 1);
  9. ini_set('mssql.datetimeconvert', 0);
  10. $this->odbtype = 'mssql';
  11. }
  12. public function connect() {
  13. $this->c = mssql_connect($this->odbhost, $this->odbuser, $this->odbpass, TRUE);
  14. if ($this->c === false) {
  15. $this->errors_stack[] = 'Could not connect. MSSQL error: ' . mssql_get_last_message();
  16. return false;
  17. }
  18. mssql_select_db($this->odbname, $this->c);
  19. return true;
  20. }
  21. public function select_all($table, $fields) {
  22. $fields_sql = '';
  23. foreach ($fields as $field) {
  24. $fields_sql .= $field . ', ';
  25. }
  26. if (!empty($fields_sql)) {
  27. $fields_sql = substr($fields_sql, 0, -2);
  28. }
  29. $sql = "SELECT $fields_sql FROM $table";
  30. //remove
  31. error_log($sql);
  32. $this->rows_iterator = mssql_query($sql, $this->c);
  33. if ($this->rows_iterator === false) {
  34. error_log("--- Error with query ".$sql." MSSQL error: ".mssql_get_last_message()."-- \n");
  35. }
  36. }
  37. public function fetch_row() {
  38. return mssql_fetch_row($this->rows_iterator);
  39. }
  40. public function num_rows() {
  41. return mssql_num_rows($this->rows_iterator);
  42. }
  43. }