-
- $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等語句,insert等語句,insert等語句,insert可以不用為返回結果賦值
- mssql_query("update tbname set username='niunv' where id=1");
-
-
複製代碼
4、取得記錄集行數
- echo mssql_num_rows($rs);
-
-
-
- 複製程式碼
-
-
-
複製程式碼
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 @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
-
-
/**
- *mssql 資料庫連線類別
- **/
- class SQL{
-
- var $server;
- var $ $使用者名稱;
- var $passWord;
- var $dataBase;
-
- var $linkID = 0;
- var $queryResult;
- var $lastInsertID;
-
-
- var $pageNum = 0;//分頁用---共有幾個資料
- var $ER;
-
- /**
- *建構子
- **/
- 函數SQL($Server='',$ UserName='',$PassWord='',$DataBase=''){
- $this ->伺服器=$伺服器;
- $this->userName = $UserName;
- $this->passWord = $PassWord;
- $this->dataBase = $DataBase;
- }
- /**
- *資料庫連線
- **/
- function db_connect(){
- $this-sql>linkID = ms_pcpconnect( $this->伺服器,$this->使用者名稱,$這->密碼);
- if(!$this->linkID){
- $this->ER = "db_connect($this->server ,$this->userName,$this->passWord) 錯誤" ;
- 回傳0;
- }
- if (!mssql_select_db($this->dataBase,$this->linkID)) {
- $this->ER = "mssql_select_db($this->dataBase,$this ->lastInsertID) 錯誤";
- 回傳0;
- }
- 回傳$this->linkID;
- }
-
- /**public
- * 功能:檢查資料庫,如果存在則選擇
- * 存在:回傳 1
- * 不存在:回傳 0
- */
- function selectDatabase(){
- if(mssql_select_db($this->dataBase))
- return 1;
- 否則
- 否則
- 不然
- 否則
- 否則
- 否則
- 否則
- 否則
- 否則
- 否則回;
- }
-
- /**
- *資料操作
- **/
- 函數查詢($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.沒有操作成功,查詢錯誤! ! ";
- 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
- * 函數:釋放查詢結果
- * 成功回傳 1
- * 失敗:回傳 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) > 回傳$行
- }
- }
-
- /**
- *取得查詢結果---多個
- **/
- 函數result_ar($str=''){
- if (空($str) ) {
- 回傳0; >}
- $back = array()
- $this->queryResult = $this->query($str); ($row = $this->fetch_array($this->queryResult)) {
- $back[ ] = $row;
- }
- 回傳$back
-
- /**
- *資料庫資訊分頁
- *$Result 資料庫操作
- *str ==sql語句
- *page ==第幾頁
- *showNum ==顯示幾頁
- */
- 函數頁($Str,$Page=0,$ ShowNum=5){
- $back = array();//回傳資料
- $maxNum = 0;
- if ($Str == "") {
- $this->ER = "沒有資料";
- return 0
- }
- $this->queryResult = $this->query($Str);
- if($this->queryResult){
- if($頁=="") {
- $nopa=0
- }else{
- $nopa = ($Page-1)*$ShowNum;
- if ($nopa$nopa = 0;
- }
- }
- $maxNum=$this->num_rows($this->queryResult);
- $k=0
- $i=0; 🎜>$dd=$this-> fetch_array($this->queryResult);
-
- while($dd&&$nopaif($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;
- 返還$;
- }
-
- /**
- *分頁的html頁碼
- */
- function page_html($DataNum=0,$Page=1,$ShowNum=3,$web,$Postost =''){
- if ($DataNum == 0) {
- $back = "沒有要查詢的資料";
- }else {
- if ($ShowNum$ShowNum = 3;
- }
- if ($Page$Page = 1;
- }
- if (空($web)) {
- $web = "#";
- }
- $pageNum = ceil($DataNum/$ShowNum);
- if ($Page $top = "首頁}else {
- $top = "首頁" ;
- }
- if ($Page !==1) {
- $upPage = "上一頁";
- }else {
- $upPage = "上一頁";
- }
- if ($Page $downPage = "下一頁";
- }else {
- $downPage = "下一頁";
- }
- if ($Page == $pageNum) {
- $foot = ">>尾頁";
- }else {
- $foot = " > > ; >尾頁";
- }
-
- $back =
- 共 $pageNum 頁
- 第 $Page/$pageNum 頁 $top $上頁 $downPage $foot
- EOT ;
- }
- 返還$;
- }
- }//結束類別
- ?>
-
-
- 複製程式碼
-
-
-
- 複製程式碼
|