国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php程序來連接SQL Server數據庫的通用類

2024-05-04 23:04:29
字體:
來源:轉載
供稿:網友
  很多朋友問我如何用php程序來連接sql server數據庫的通用類,其實這個并不是很難的,關鍵是一點點仔細,一點點耐心,用激情去理解
<?
  class db {
   var $host = "192.168.0.199"; // hostname of our mysql server
   var $database = "test"; // logical database name on that server
   var $user = "user"; // database user
   var $password = "password"; // database user's password
  
   var $link_id = 0; // result of mssql_connect()
   var $query_id = 0; // result of most recent mssql_query()
   var $row = 0; // current row number
   var $errno = 0; // error state of query
   var $error = "";
  
  var $affnum=0;
  
  /**************************************
   *打印錯誤方法:顯示頁面處理的錯誤信息。
  ****************************************/
  function halt($msg) {
   printf("</td></tr></table><b>database error:</b> %s<br>/n", $msg);
   printf("<b>mssql error</b>: %s (%s)<br>/n",
   $this->errno,
   $this->error);
   die("session halted.");
   }
  
  /**************************************
   *連接數據庫,并且選擇默認的數據庫
   **************************************/
  function connect() {
   if ( 0 == $this->link_id ) {
  $this->link_id=mssql_connect($this->host,$this->user,$this->password) or die("couldn't connect to sql server on
  
  $servername");
  database,$this->link_id">$[email protected]_select_db($this->database,$this->link_id);
   if (!$this->link_id) {
   $this->halt("link-id == false, mssql_connect failed");
   }
   }
   }
  
  /****************************************
   *關閉數據庫,如果數據庫連接已經打開則關閉它
   *請在調用connect()并處理后使用close()
   ****************************************/
  function close() {
  if (0 != $this->link_id){
  mssql_close();
  }
  }
  
  /*************************************************
   *輸入sql語句,有select,update,insert,delete
   *包括存儲過程也可以通過這個方法來調用。
   *************************************************/
  function query($query_string) {
   $this->connect();
  
   $this->query_id = mssql_query($query_string);
   $this->row = 0;
   if (!$this->query_id) {
  $msg=mssql_get_last_message();
  
  if($msg==null || $msg=="")
  {
  $this->affnum=1;
  return 1;
  }
  
  if(strtolower(substr($query_string,0,6))!="select"){
  $this->affnum=1;
  return 1;
  }
  
   $this->errno = 1;
   $this->error = "general error (the mssql interface cannot return detailed error messages)(".$msg.").";
   $this->halt("invalid sql: ".$query_string);
   }
   return $this->query_id;
   }
  
  /*******************************************************
   *把查詢數據庫的指針移到下一條記錄
   *******************************************************/
  function nextrecord() {
   $this->record = array();
  mssql_next_result($this->query_id);
  $this->record=mssql_fetch_array($this->query_id);
  
  $result=$this->record;
  if(!is_array($result)) return $this->record;
  foreach($result as $key => $value){
  $keylower=strtolower($key);
  if($keylower!=$key) $this->record[$keylower]=$value;
  }
  
   return $this->record;
   }
  
  /********************************************************
   *重新定位查詢數據庫的指針
   ********************************************************/
  function seek($pos) {
  if($pos<=0) return;
  if(eregi("[0-9]",$pos)) mssql_data_seek($this->query_id,$pos);
   }
  
  /********************************************************
   *獲取查詢數據庫得到的總行數
   ********************************************************/
  function numrows() {
  if($this->query_id) $num_rows=mssql_num_rows($this->query_id);
  else $num_rows=$this->affnum;
  
   return $num_rows;
   }
  
  /*******************************************************
   *字段數
   *******************************************************/
  function numfields() {
   return count($this->record)/2;
   }
  
  /*******************************
   *該字段的值
   *******************************/
  function fieldvalue($field_name){
  return $this->record[$field_name];
   }
  
  /******************************
   *update,insert,delete影響的行數
   ******************************/
  function affectedrows() {
  if($this->query_id) return mssql_num_rows($this->query_id);
  else{
  return $this->affnum;
  }
   }
  ?>
  
  
  以下是使用示例:
  
  <?
  //構造新的db類
  $dbconn=new db;
  
  //寫入sql查詢語句
  $sqlstr="select * from test";
  $dbconn->query($sqlstr);
  
  //循環輸出查詢得到的結果
  while($row=$dbconn->nextrecord()){
  echo $row[testid];
  }
  
  //關閉數據庫連接
  $dbconn->close();
  ?>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桦川县| 化州市| 柳江县| 唐海县| 金塔县| 水城县| 华亭县| 绍兴县| 平泉县| 社会| 铁力市| 都兰县| 荣成市| 康马县| 绥芬河市| 哈巴河县| 铜川市| 高碑店市| 高要市| 奎屯市| 南涧| 贵溪市| 武冈市| 启东市| 万荣县| 剑河县| 门头沟区| 云和县| 浮梁县| 四子王旗| 方正县| 四会市| 合山市| 武隆县| 罗田县| 太康县| 云霄县| 大关县| 崇左市| 绥芬河市| 米泉市|