当前位置:首页 > PHP教程 > php应用 > 列表

php连接mysql与mssql 2005数据库代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-11 13:36:09 浏览: 评论:0 

1,php连接mssql 2005 1,下载以下两个文件,放入php ext目录及system32.

php_sqlsrv_52_ts_vc6.dll(线程安全),php_sqlsrv_52_nts_vc6.dll(非线程安全).

vc6用于apache,vc9用于iis

2.修改php.ini

extension=php_sqlsrv_52_ts_vc6.dll

3.下载sqlncli.msi,微软官方可以下

安装的时候提示是sql server 2008的,不过2005也是可以用的.

4.测试代码

  1. <?php 
  2.  
  3. $servername = "127.0.0.1"
  4. $connectioninfo = array("database"=>"testdb","uid"=>"test","pwd"=>"test"); 
  5. $conn = sqlsrv_connect($servername$connectioninfo); 
  6.  
  7. if($conn) { 
  8.     echo "connection established.<br>"
  9. else { 
  10.     echo "connection could not be established.<br>"
  11.     die(print_r(sqlsrv_errors(), true)); 
  12.     exit(); 
  13.  
  14. $sql = "select * from t_employee"
  15. $result = sqlsrv_query($conn,$sql); 
  16. $data = array(); 
  17. while($row=sqlsrv_fetch_array($result)) { 
  18.     $data[] = $row
  19.  
  20. foreach($data as $p) { 
  21.     echo $p['name']."<br>"
  22.  
  23. sqlsrv_close($conn); 
  24.  
  25. echo "<br> done <br>"
  26. echo date("y-m-d h:i:s"); 
  27.  
  28. ?> 

mysql连接类:

  1. class db_handle { 
  2.     var $classname = "db_handle"
  3.     var $server
  4.     var $username
  5.     var $password
  6.     var $database
  7.     var $linkid = 0; 
  8.     var $queryresult = ""
  9.     var $lastinsertid = ""
  10.     /* private ignore=>ignore the error and continue, halt=>report the error and halt, report=>report the error and continue */ 
  11.     var $halt_on_error = "report"
  12.     var $error = ""
  13.     var $errno = 0; 
  14.     /**public 
  15.      * remark: this is the db_mysql_class's structure 
  16.      * function: set the server,username,password,database variable. 
  17.      */ 
  18.     function db_handle($server = ""$username = ""$password = ""$database = "") { 
  19.         $this->server = $server
  20.         $this->username = $username
  21.         $this->password = $password
  22.         $this->database = $database
  23.     } 
  24.     /**public 
  25.      * function: connect database and select database 
  26.      * success: retun 1 
  27.      * failed: return 0 
  28.      */ 
  29.     function connect() { 
  30.         $this->linkid = @mssql_pconnect ( $this->server, $this->username, $this->password ); 
  31.         if (! $this->linkid) { 
  32.             $this->halt ( "mssql_pconnect($this->server,$this->username,$this->password): failed" ); 
  33.             return 0; 
  34.         } 
  35.         if (! @mssql_select_db ( $this->database )) { 
  36.             $this->halt ( "mssql_select_db($this->database) failed." ); 
  37.             return 0; 
  38.         } 
  39.         return 1; 
  40.     } 
  41.     /**public 
  42.      * function: check the database, if exist then select 
  43.      * exist: return 1 
  44.      * not exist: return 0 
  45.      */ 
  46.     function selectdatabase() { 
  47.         if (@mssql_select_db ( $this->database )) 
  48.             return 1; 
  49.         else 
  50.             return 0; 
  51.     } 
  52.     /**public 
  53.      * function: execute sql instruction 
  54.      * success: return sql result. 
  55.      * failed: return 0; 
  56.      */ 
  57.     function execquery($sql = "") { 
  58.         $this->connect(); 
  59.         if ($this->linkid == 0) { 
  60.             $this->halt ( "execute sql failed: have not valid database connect." ); 
  61.             return 0; 
  62.         } 
  63.         ob_start (); 
  64.         $this->queryresult = mssql_query ( $sql$this->linkid ); 
  65.         $error = ob_get_contents (); 
  66.         ob_end_clean (); 
  67.         if ($error) { 
  68.             $this->halt ( "execute sql: mssql_query($sql,$this->linkid) failed." ); 
  69.             return 0; 
  70.         } 
  71.         $reg = "#insert into#"
  72.         if (preg_match ( $reg$sql )) { 
  73.             $sql = "select @@identity as id"
  74.             $res = mssql_query ( $sql$this->linkid ); 
  75.             $this->lastinsertid = mssql_result ( $res, 0, id ); 
  76.         } 
  77.         return $this->queryresult; 
  78.     } 
  79.      
  80.     /**public 
  81.      * function: get the query result's row number 
  82.      * success: return the row fo the result 
  83.      * failed: return 0 
  84.      */ 
  85.     function gettotalrownum($result = "") { 
  86.         if ($result != ""
  87.             $this->queryresult = $result
  88.         $row = @mssql_num_rows ( $this->queryresult ); 
  89.         if ($row >= 0) 
  90.             return $row
  91.         $this->halt ( "get a row of result failed: result $result is invalid." ); 
  92.         return 0; 
  93.     } 
  94.      
  95.     /**public 
  96.      * function: get the last insert record's id 
  97.      * success: return id 
  98.      * failed: return 0 
  99.      */ 
  100.     function lastinsertid() { 
  101.         return $this->lastinsertid; 
  102.     } 
  103.      
  104.     /**public 
  105.      * function: get a field's value 
  106.      * success: return value of the field 
  107.      * failed: return 0 
  108.      */ 
  109.     function getfield($result = ""$row = 0, $field = 0) { 
  110.         if ($result != ""
  111.             $this->queryresult = $result
  112.         $fieldvalue = @mssql_result ( $this->queryresult, $row$field ); 
  113.         if ($fieldvalue != ""
  114.             return $fieldvalue
  115.         $this->halt ( "get field: mssql_result($this->queryresult,$row,$field) failed." ); 
  116.         return 0; 
  117.          
  118.     //here should have error handle 
  119.     } 
  120.      
  121.     /**public 
  122.      * function: get next record 
  123.      * success: return a array of the record's value 
  124.      * failed: return 0 
  125.      */ 
  126.     function nextrecord($result = "") { 
  127.         if ($result != ""
  128.             $this->queryresult = $result
  129.         $record = @mssql_fetch_array ( $this->queryresult ); 
  130.         if (is_array ( $record )) 
  131.             return $record
  132.             //$this->halt("get the next record failed: the result $result is invalid."); 
  133.         return 0; 
  134.     } 
  135.      
  136.     /**public 
  137.      * function: free the query result 
  138.      * success return 1 
  139.      * failed: return 0 
  140.      */ 
  141.     function freeresult($result = "") { 
  142.         if ($result != ""
  143.             $this->queryresult = $result
  144.         return @mssql_free_result ( $this->queryresult ); 
  145.     } 
  146.      
  147.     /**public 
  148.      * function: set the halt_on_error's state 
  149.      * success: return 1 
  150.      * failed: return 0 
  151.      */ 
  152.     function sethaltonerror($state = "ignore") { 
  153.         if (! ($state == "ignore" || $state == "report" || $state == "halt")) { 
  154.             $this->halt ( "set the halt_on_error fail: there is no state value $state" ); 
  155.             return 0; 
  156.         } 
  157.         $this->halt_on_error = $state
  158.         return 1; 
  159.     } 
  160.      
  161.     /**public 
  162.      * function: get the halt_on_error's state 
  163.      */ 
  164.     function gethaltonerror() { 
  165.         return $this->halt_on_error; 
  166.     } 
  167.      
  168.     /**public 
  169.      * function: get the class's name 
  170.      */ 
  171.     function tostring() { 
  172.         return $this->classname; 
  173.     } 
  174.      
  175.     /**private 
  176.      * function: error handle 
  177.      */ 
  178.     function halt($msg) { 
  179.         $this->error = @mysql_error ( $this->linkid ); 
  180.         $this->errno = @mysql_errno ( $this->linkid ); 
  181.         if ($this->halt_on_error == "ignore"
  182.             return
  183.         $this->makemsg ( $msg ); 
  184.         if ($this->halt_on_error == "halt"
  185.             die ( "session halted" ); 
  186.     }//开源代码phpfensi.com 
  187.      
  188.     /**private 
  189.      * function: make error information and print 
  190.      */ 
  191.     function makemsg($msg) { 
  192.         printf ( "database error: %sn"$msg ); 
  193.         printf ( "mysql error: %s (%s)n"$this->errno, $this->error ); 
  194.     } 
  195. }

Tags: php连接mysql php连接mssql

分享到: