首頁 > 後端開發 > php教程 > 有關php連接mssql的一些總結

有關php連接mssql的一些總結

WBOY
發布: 2016-07-25 09:04:34
原創
969 人瀏覽過
  1. $conn=mssql_connect("實例名稱或伺服器IP","使用者名稱","密碼");
  2. //測試連線
  3. if($conn)
  4. {
  5. echo "連線成功";
  6. }
複製程式碼

2、選擇要連接的資料庫

  1. mssql_select_db("dbname");
複製程式碼

複製程式碼
  1. 複製程式碼
  2. 複製程式碼
複製程式碼

複製程式碼
  1. 複製程式碼
複製程式碼

複製碼 3、執行查詢
  1. $rs = mssql_query("select top 1 id,username from tbname",$conn);
  2. 或直接執行update,insert等語句,insert等語句,insert等語句,insert可以不用為返回結果賦值
  3. mssql_query("update tbname set username='niunv' where id=1");
複製代碼
4、取得記錄集行數

  1. echo mssql_num_rows($rs);
  2. 複製程式碼
複製程式碼

    if($row=mssql_fetch_array($rs))
  1. {
  2. $id = $row[0];//取得ID字段值
  3. $username = $row[1];//取得username欄位值
}
複製程式碼

6、取得新增記錄的ID 將id欄位設為IDENTITY欄位,執行insert語句以後,就會產生一個 @@IDENTITY 全域變數值,查詢出來就是最後一筆新增記錄的ID了.
mssql_query("insert into tbname(username) values ('nv')",$conn); $rs = mssql_query("select @query("select @query("select @query("select) @IDENTITY as id",$conn);if($row=mssql_fetch_array($rs))
{echo $row[0];} 複製程式碼 7.釋放記錄集 //更多 mssql_free_result($rs); 複製代碼 8.關閉連接 mssql_close($conn);複製程式碼

註:用PHP操作MSSQL比在ASP連接MYSQL要簡單,所以,當需要MSSQL與MYSQL並存時,用PHP連接MSSQL來操作MYSQL與MSSQL並存比較簡單好用.如果是ASP連接MYSQL,需要安裝一個MYSQL驅動,預設windows的ODBC沒有安裝,很遺憾...

1.在網頁伺服器上至少安裝了mssql的客戶端 2.打開php.ini把;extension=php_mssql.dll 前面的分號去掉 有必要話:需要製定extension_dir 3.建議使用 php

  1. /**
  2. *mssql 資料庫連線類別
  3. **/
  4. class SQL{
  5. var $server;
  6. var $ $使用者名稱;
  7. var $passWord;
  8. var $dataBase;
  9. var $linkID = 0;
  10. var $queryResult;
  11. var $lastInsertID;
  12. var $pageNum = 0;//分頁用---共有幾個資料
  13. var $ER;
  14. /**
  15. *建構子
  16. **/
  17. 函數SQL($Server='',$ UserName='',$PassWord='',$DataBase=''){
  18. $this ->伺服器=$伺服器;
  19. $this->userName = $UserName;
  20. $this->passWord = $PassWord;
  21. $this->dataBase = $DataBase;
  22. }
  23. /**
  24. *資料庫連線
  25. **/
  26. function db_connect(){
  27. $this-sql>linkID = ms_pcpconnect( $this->伺服器,$this->使用者名稱,$這->密碼);
  28. if(!$this->linkID){
  29. $this->ER = "db_connect($this->server ,$this->userName,$this->passWord) 錯誤" ;
  30. 回傳0;
  31. }
  32. if (!mssql_select_db($this->dataBase,$this->linkID)) {
  33. $this->ER = "mssql_select_db($this->dataBase,$this ->lastInsertID) 錯誤";
  34. 回傳0;
  35. }
  36. 回傳$this->linkID;
  37. }
  38. /**public
  39. * 功能:檢查資料庫,如果存在則選擇
  40. * 存在:回傳 1
  41. * 不存在:回傳 0
  42. */
  43. function selectDatabase(){
  44. if(mssql_select_db($this->dataBase))
  45. return 1;
  46. 否則
  47. 否則
  48. 不然
  49. 否則
  50. 否則
  51. 否則
  52. 否則
  53. 否則
  54. 否則
  55. 否則回;
  56. }
  57. /**
  58. *資料操作
  59. **/
  60. 函數查詢($Str){
  61. if ($this->linkID == 0) {
  62. $this- >ER = "資料庫還沒有連線! ! ";
  63. }
  64. $this->queryResult = mssql_query($Str);
  65. //$this->queryResult = mssql_query($Str,$this->linkID);
  66. if (!$this->queryResult) {
  67. $this->ER = "$Str.沒有操作成功,查詢錯誤! ! ";
  68. return 0;//****************對於php 4.3.9以上版本的錯誤用1
  69. }
  70. return $this->queryResult;
  71. }
  72. / **
  73. *資料取得
  74. **/ function fetch_array($result){ if($result != "") $this->queryResult = $result; $rec =mssql_fetch_array($this->queryResult); if(is_array($rec)){ return $rec;} //$this- >ER = "沒有取得資料!";
  75. return 0;
  76. }
  77. /**public
  78. * 函數:釋放查詢結果
  79. * 成功回傳 1
  80. * 失敗:回傳 0
  81. */
  82. function freeResult($result=""){
  83. if($result != "" ) $this->queryResult = $result;
  84. return mssql_free_result($this->queryResult);
  85. /**
  86. *取得影響的行數
  87. *取得操作過的行數
  88. **/
  89. function num_rows($ result=""){
  90. if ($result != "") {
  91. $this->queryResult = $result;
  92. $row = mssql_num_rows($this->queryResult) > 回傳$行
  93. }
  94. }
  95. /**
  96. *取得查詢結果---多個
  97. **/
  98. 函數result_ar($str=''){
  99. if (空($str) ) {
  100. 回傳0; >}
  101. $back = array()
  102. $this->queryResult = $this->query($str); ($row = $this->fetch_array($this->queryResult)) {
  103. $back[ ] = $row;
  104. }
  105. 回傳$back
  106. /**
  107. *資料庫資訊分頁
  108. *$Result 資料庫操作
  109. *str ==sql語句
  110. *page ==第幾頁
  111. *showNum ==顯示幾頁
  112. */
  113. 函數頁($Str,$Page=0,$ ShowNum=5){
  114. $back = array();//回傳資料
  115. $maxNum = 0;
  116. if ($Str == "") {
  117. $this->ER = "沒有資料";
  118. return 0
  119. }
  120. $this->queryResult = $this->query($Str);
  121. if($this->queryResult){
  122. if($頁=="") {
  123. $nopa=0
  124. }else{
  125. $nopa = ($Page-1)*$ShowNum;
  126. if ($nopa$nopa = 0;
  127. }
  128. }
  129. $maxNum=$this->num_rows($this->queryResult);
  130. $k=0
  131. $i=0; 🎜>$dd=$this-> fetch_array($this->queryResult);
  132. while($dd&&$nopaif($nopa >= $maxNum) $nopa = $maxNum;
  133. mssql_data_seek($this->queryResult,$nopa);
  134. $row=$this->fetch_array($this->queryResult);
  135. $nopa++;
  136. $i++;
  137. $back[] = $row;
  138. if ($nopa >=$maxNum) {
  139. break;
  140. }
  141. }
  142. }
  143. $this->pageNum = $maxNum;
  144. 返還$;
  145. }
  146. /**
  147. *分頁的html頁碼
  148. */
  149. function page_html($DataNum=0,$Page=1,$ShowNum=3,$web,$Postost =''){
  150. if ($DataNum == 0) {
  151. $back = "沒有要查詢的資料";
  152. }else {
  153. if ($ShowNum$ShowNum = 3;
  154. }
  155. if ($Page$Page = 1;
  156. }
  157. if (空($web)) {
  158. $web = "#";
  159. }
  160. $pageNum = ceil($DataNum/$ShowNum);
  161. if ($Page $top = "首頁}else {
  162. $top = "首頁" ;
  163. }
  164. if ($Page !==1) {
  165. $upPage = "上一頁";
  166. }else {
  167. $upPage = "上一頁";
  168. }
  169. if ($Page $downPage = "下一頁";
  170. }else {
  171. $downPage = "下一頁";
  172. }
  173. if ($Page == $pageNum) {
  174. $foot = ">>尾頁";
  175. }else {
  176. $foot = " > > ; >尾頁";
  177. }
  178. $back =
  179. 共 $pageNum 頁   
  180. 第 $Page/$pageNum 頁 $top $上頁 $downPage   $foot
  181. EOT ;
  182. }
  183. 返還$;
  184. }
  185. }//結束類別
  186. ?>
  187. 複製程式碼
  188. 複製程式碼


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板