程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php連接mssql的一些相關經驗和總結

php連接mssql的一些相關經驗和總結

編輯:關於PHP編程

    為了能讓PHP連接MSSQL,系統需要安裝MSSQL,PHP,且在PHP.ini中的配置中,將        ;extension=php_mssql.dll前面的;去掉          1.連接MSSQL        $conn=mssql_connect("實例名或者服務器IP","用戶名","密碼");          //測試連接        if($conn)        {        echo "連接成功";        }          2.選擇要連接的數據庫        mssql_select_db("dbname");          3.執行查詢        $rs = mssql_query("select top 1 id,username from tbname",$conn);        或者直接執行update,insert等語句,可以不用為返回結果賦值        mssql_query("update tbname set username='niunv' where id=1");          4.獲取記錄集行數        echo mssql_num_rows($rs);          5.獲取記錄集        if($row=mssql_fetch_array($rs))        {        $id = $row[0];//獲取ID字段值        $username = $row[1];//獲取username字段值        }          6.獲取新增記錄的ID        將id字段設置為IDENTITY字段,執行insert語句以後,就會產生一個 @@IDENTITY 全局變量值,查詢出來就是最後一條新增記錄的ID了.        mssql_query("insert into tbname(username) values ('nv')",$conn);         $rs = mssql_query("select @@IDENTITY as id",$conn);        if($row=mssql_fetch_array($rs))        {        echo $row[0];        }          7.釋放記錄集 //更多 http://www.52mvc.com        mssql_free_result($rs);          8.關閉連接        mssql_close($conn);                   注:用PHP操作MSSQL比在ASP連接MYSQL要簡單,所以,當需要MSSQL與MYSQL並存時,用PHP連接MSSQL來操作MYSQL與MSSQL並存比較簡單好用.如果是ASP連接MYSQL,需要安裝一個MYSQL驅動,默認windows的ODBC沒有安裝,很遺憾...                            1.在web服務器上至少安裝了mssql的客戶端        2.打開php.ini把;extension=php_mssql.dll   前面的分號去掉            有必要話:需要制定extension_dir      3.推薦使用   php<=4.0.9     <=5.0.3目前   我還沒有連接成功過4.010和   5.0.3      4.數據庫的   連接分頁可以   到     phpe.net上獲取到相應的class      下面是我根據那裡   修改的   一個class      <?php      /**      *mssql   數據庫連接類      **/      class   SQL{           var   $server;      var   $userName;      var   $passWord;      var   $dataBase;           var   $linkID   =   0;      var   $queryResult;      var   $lastInsertID;           var   $pageNum   =   0;//分頁用---共有幾條數據      var   $ER;           /**      *構造函數      **/      function     SQL($Server='',$UserName='',$PassWord='',$DataBase=''){      $this->server   =   $Server;      $this->userName   =   $UserName;      $this->passWord   =   $PassWord;      $this->dataBase   =   $DataBase;      }      /**      *數據庫連接      **/      function   db_connect(){      $this->linkID   =   mssql_pconnect($this->server,$this->userName,$this->passWord);      if(!$this->linkID){      $this->ER   =   "db_connect($this->server,$this->userName,$this->passWord)   error";      return   0;      }      if   (!mssql_select_db($this->dataBase,$this->linkID))   {      $this->ER   =   "mssql_select_db($this->dataBase,$this->lastInsertID)   error";      return   0;      }      return   $this->linkID;      }           /**public      *     function:   Check   the   database,   if   exist   then   select      *     exist:   return   1      *     not   exist:   return   0      */      function   selectDatabase(){      if(mssql_select_db($this->dataBase))      return   1;      else      return   0;      }           /**      *數據操作      **/      function     query($Str){      if   ($this->linkID   ==   0)   {      $this->ER   =   "數據庫還沒有連接!!";      }                         $this->queryResult   =   mssql_query($Str);          //$this->queryResult   =   mssql_query($Str,$this->linkID);      if   (!$this->queryResult)   {                    $this->ER   =   "$Str.沒有操作成功,query   error!!";      return   0;//****************對於php   4.3.9以上版本的錯誤用1      }      return   $this->queryResult;      }           /**      *數據獲取      **/      function   fetch_array($result){      if($result   !=   "")   $this->queryResult   =   $result;      $rec   =mssql_fetch_array($this->queryResult);           if(is_array($rec)){      return   $rec;           }           //$this->ER   =   "沒有獲取數據!";      return   0;      }           /**public      *     function:   Free   the   Query   Result      *     success   return   1      *     failed:   return   0      */      function   freeResult($result=""){      if($result   !=   "")   $this->queryResult   =   $result;      return   mssql_free_result($this->queryResult);      }                 /**      *獲取影響的的行數      *獲取操作過的行數      **/      function   num_rows($result=""){      if   ($result   !=   "")   {      $this->queryResult   =   $result;      $row   =   mssql_num_rows($this->queryResult);      return   $row;      }      }                   /**      *獲取查詢結果---多個      **/      function   result_ar($str=''){      if   (empty($str))   {      return   0;      }      $back   =   array();      $this->queryResult   =   $this->query($str);           while   ($row   =   $this->fetch_array($this->queryResult))   {      $back[]   =   $row;      }      return   $back;      }           /**      *數據庫信息分頁      *$Result   數據庫操作      *str   ==sql語句        *page   ==第幾頁      *showNum   ==顯示幾頁      */      function   page($Str,$Page=0,$ShowNum=5){      $back   =   array();//返回數據      $maxNum   =   0;      if   ($Str   ==   "")   {      $this->ER   =   "沒有數據";      return     0;      }      $this->queryResult   =   $this->query($Str);      if($this->queryResult){      if($Page==""){      $nopa=0;      }else{      $nopa   =   ($Page-1)*$ShowNum;      if   ($nopa<0)   {      $nopa   =   0;      }      }      $maxNum=$this->num_rows($this->queryResult);      $k=0;      $i=0;      $dd=$this->fetch_array($this->queryResult);           while($dd&&$nopa<=$maxNum&&$i<$ShowNum){      if($nopa   >=   $maxNum)     $nopa   =   $maxNum;      mssql_data_seek($this->queryResult,$nopa);           $row=$this->fetch_array($this->queryResult);           $nopa++;      $i++;      $back[]   =   $row;           if   ($nopa   >=$maxNum)   {      break;      }      }      }      $this->pageNum   =   $maxNum;      return   $back;      }           /**      *分頁的html頁碼      */      function     page_html($DataNum=0,$Page=1,$ShowNum=3,$web,$Post=''){      if   ($DataNum   ==   0)   {      $back   =     "沒有要查詢的數據";      }else   {      if   ($ShowNum<=0)   {      $ShowNum   =   3;      }      if   ($Page<=0)   {      $Page   =   1;      }      if   (empty($web))   {      $web   =   "#";      }      $pageNum   =   ceil($DataNum/$ShowNum);      if   ($Page   <=   1)   {      $top   =     "首頁<<";      }else   {      $top   =   "<a   href='".$web."?page=0&".$Post."'   target='_self'>首頁<<   </a>";      }      if   ($Page   !==1)   {      $upPage   =     "<a   href='".$web."?page=".($Page-1)."&".$Post."'   target='_self'>上一頁</a>";      }else   {      $upPage   =   "上一頁";      }      if   ($Page   <   $pageNum)   {      $downPage   =   "<a   href='".$web."?page=".($Page+1)."&".$Post."'   target='_self'>下一頁</a>";      }else   {      $downPage   =   "下一頁";      }      if   ($Page   ==   $pageNum)   {      $foot   =   ">>尾頁";      }else   {      $foot   =   "<a   href='".$web."?page=".$pageNum."&".$Post."'   target='_self'>   >>尾頁</a>";      }           $back   =   <<<EOT           共   $pageNum   頁   &nbsp;&nbsp;      第   $Page/$pageNum   頁   $top   &nbsp;   $upPage   &nbsp;   $downPage     &nbsp;   $foot      EOT;      }      return   $back;      }      }//end   class      ?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved