| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
y3c5
10年前发布

面向对象的php操作mssql类

<?php     /*  untested  */     class database_mssql {     var $database = NULL;  var $sqls = NULL;     var $host = NULL;  var $username = NULL;  var $password = NULL;  var $databaseName = NULL;  var $link = NULL;  var $queries = NULL;  var $errors = NULL;     function database_mssql($host, $username, $password, $database) {     $this->host = $host;  $this->username = sha1($username);  $this->password = sha1($password);  $this->database = $database;  $this->link = "";  $this->queries = array ();  $this->errors = array ();     $this->sqls = array ();     $this->link = mssql_connect($this->host, $username, $password);  mssql_select_db($this->database, $this->link);  }     function justquery($sql) {  $this->queries[] = $sql;  return mssql_query($sql, $this->link);  }     function loadResult($sql) {  if (!($cur = $this->justquery($sql))) {  return null;  }  $ret = null;  if ($row = mssql_fetch_row( $cur )) {  $ret = $row[0];  }  mssql_free_result( $cur );  return $ret;  }     function loadFirstRow($sql) {  if (!($cur = $this->justquery($sql))) {  return null;  }  $ret = null;  if ($row = mssql_fetch_object( $cur )) {  $ret = $row;  }  mssql_free_result( $cur );  return $ret;  }     function insertid() {  //return mysql_insert_id( $this->link );  }     function query($sql, $key = "", $returns = true, $batch = false) {  $sqls = $result = array ();     switch ($batch) {  default:  case true:  foreach ($sql as $index => $query) {  $this->queries[] = $query;  $answer = mssql_query($query, $this->link);     if (!$answer) {  $this->errors[] = "n/a";//odbc_errormsg($this->link);  }  else {  if ($returns != false) {  if (mssql_num_rows($answer) > 0){  while ($row = mssql_fetch_object($answer)) {  if ($key != ""){  $result[$index][$row->$key] = $row;  }  else {  $result[$index][] = $row;  }  }  } else {}  } else {}  }  }  break;     case false:  $this->queries[] = $sql;  $answer = mssql_query($sql, $this->link);     if (!$answer) {  $this->errors[] = "n/a";//odbc_errormsg($this->link);  $result = false;  }  else {  if ($returns != false) {  if (mssql_num_rows($answer) > 0){  while ($row = mssql_fetch_object($answer)) {  if ($key != ""){  $result[$row->$key] = $row;  }  else {  $result[] = $row;  }  }  } else {}  }  else {  $result = true;  }  }  break;  }     return $result;  }     function loadObject( $sql, &$object ) {  if ($object != null) {  if (!($cur = $this->justquery($sql))) {  return false;  } else {}  if ($array = mssql_fetch_array( $cur )) {  mssql_free_result( $cur );  $this->bindArrayToObject( $array, $object);  return true;  }  else {  return false;  }  }  else {  if ($cur = $this->justquery($sql)) {  if ($object = mssql_fetch_object( $cur )) {  mssql_free_result( $cur );  return true;  }  else {  $object = null;  return false;  }  }  else {  return false;  }  }  }     function bindArrayToObject( $array, &$obj) {  if (!is_array( $array ) || !is_object( $obj )) {  return (false);  }     foreach (get_object_vars($obj) as $k => $v) {  if( substr( $k, 0, 1 ) != '_' ) {  $ak = $k;  if (isset($array[$ak])) {  $obj->$k = $array[$ak];  }  }  }     return true;  }     function formatCSVCell($data) {  $useQuotes = false;     $quotable = array (  """ => """",  "," => ",",  "  " => "  "  );     foreach ($quotable as $char => $repl) {  if (eregi($char, $data)) {  $useQuotes = true;  } else {}  }     if ($useQuotes == true) {  foreach ($quotable as $char => $repl) {  $data = str_replace($char, $repl, $data);  }     $data = """ . $data . """;  }  else {     }     return $data;  }  }  ?>