面向对象的php操作mssql类
                        
                            时间:2021-07-01 10:21:17
                            帮助过:21人阅读
							                        
                     
                    
                    |  /*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;}}?>
 
 | 
面向对象, php, mssql