溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用php對(duì)mssql進(jìn)行連接時(shí)需要注意哪些事項(xiàng)

發(fā)布時(shí)間:2020-12-29 14:59:59 來(lái)源:億速云 閱讀:120 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)利用php對(duì)mssql進(jìn)行連接時(shí)需要注意哪些事項(xiàng),小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

為了能讓PHP連接MSSQL,系統(tǒng)需要安裝MSSQL,PHP,且在PHP.ini中的配置中,將;extension=php_mssql.dll前面的;去掉 
1.連接MSSQL

復(fù)制代碼 代碼如下:


$conn=mssql_connect("實(shí)例名或者服務(wù)器IP","用戶名","密碼");
//測(cè)試連接
if($conn)
{
echo"連接成功";
}


2.選擇要連接的數(shù)據(jù)庫(kù)

復(fù)制代碼 代碼如下:


mssql_select_db("dbname");


3.執(zhí)行查詢

復(fù)制代碼 代碼如下:


$rs=mssql_query("selecttop1id,usernamefromtbname",$conn);
或者直接執(zhí)行update,insert等語(yǔ)句,可以不用為返回結(jié)果賦值
mssql_query("updatetbnamesetusername='niunv'whereid=1");


4.獲取記錄集行數(shù)

復(fù)制代碼 代碼如下:


echomssql_num_rows($rs);


5.獲取記錄集

復(fù)制代碼 代碼如下:


if($row=mssql_fetch_array($rs))
{
$id=$row[0];//獲取ID字段值
$username=$row[1];//獲取username字段值
}


6.獲取新增記錄的ID
將id字段設(shè)置為IDENTITY字段,執(zhí)行insert語(yǔ)句以后,就會(huì)產(chǎn)生一個(gè)@@IDENTITY全局變量值,查詢出來(lái)就是最后一條新增記錄的ID了.

復(fù)制代碼 代碼如下:


mssql_query("insertintotbname(username)values('nv')",$conn);
$rs=mssql_query("select@@IDENTITYasid",$conn);
if($row=mssql_fetch_array($rs))
{
echo$row[0];
}


7.釋放記錄集

復(fù)制代碼 代碼如下:


mssql_free_result($rs);


8.關(guān)閉連接

復(fù)制代碼 代碼如下:


mssql_close($conn);


注:用PHP操作MSSQL比在ASP連接MYSQL要簡(jiǎn)單,所以,當(dāng)需要MSSQL與MYSQL并存時(shí),用PHP連接MSSQL來(lái)操作MYSQL與MSSQL并存比較簡(jiǎn)單好用.如果是ASP連接MYSQL,需要安裝一個(gè)MYSQL驅(qū)動(dòng),默認(rèn)windows的ODBC沒有安裝,很遺憾...
1.在web服務(wù)器上至少安裝了mssql的客戶端
2.打開php.ini把;extension=php_mssql.dll前面的分號(hào)去掉
有必要話:需要制定extension_dir
3.推薦使用php<=4.0.9<=5.0.3目前我還沒有連接成功過(guò)4.010和5.0.3
4.數(shù)據(jù)庫(kù)的連接分頁(yè)可以到phpe.net上獲取到相應(yīng)的class
下面是我根據(jù)那里修改的一個(gè)class

復(fù)制代碼 代碼如下:


<?php
/**
*mssql數(shù)據(jù)庫(kù)連接類
**/
classSQL{
var$server;
var$userName;
var$passWord;
var$dataBase;
var$linkID=0;
var$queryResult;
var$lastInsertID;
var$pageNum=0;//分頁(yè)用---共有幾條數(shù)據(jù)
var$ER;
/**
*構(gòu)造函數(shù)
**/
functionSQL($Server='',$UserName='',$PassWord='',$DataBase=''){
$this->server=$Server;
$this->userName=$UserName;
$this->passWord=$PassWord;
$this->dataBase=$DataBase;
}
/**
*數(shù)據(jù)庫(kù)連接
**/
functiondb_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";
return0;
}
if(!mssql_select_db($this->dataBase,$this->linkID)){
$this->ER="mssql_select_db($this->dataBase,$this->lastInsertID)error";
return0;
}
return$this->linkID;
}
/**public
*function:Checkthedatabase,ifexistthenselect
*exist:return1
*notexist:return0
*/
functionselectDatabase(){
if(mssql_select_db($this->dataBase))
return1;
else
return0;
}
/**
*數(shù)據(jù)操作
**/
functionquery($Str){
if($this->linkID==0){
$this->ER="數(shù)據(jù)庫(kù)還沒有連接??!";
}
$this->queryResult=mssql_query($Str);
//$this->queryResult=mssql_query($Str,$this->linkID);
if(!$this->queryResult){
$this->ER="$Str.沒有操作成功,queryerror!!";
return0;//****************對(duì)于php4.3.9以上版本的錯(cuò)誤用1
}
return$this->queryResult;
}
/**
*數(shù)據(jù)獲取
**/
functionfetch_array($result){
if($result!="")$this->queryResult=$result;
$rec=mssql_fetch_array($this->queryResult);
if(is_array($rec)){
return$rec;
}
//$this->ER="沒有獲取數(shù)據(jù)!";
return0;
}
/**public
*function:FreetheQueryResult
*successreturn1
*failed:return0
*/
functionfreeResult($result=""){
if($result!="")$this->queryResult=$result;
returnmssql_free_result($this->queryResult);
}
/**
*獲取影響的的行數(shù)
*獲取操作過(guò)的行數(shù)
**/
functionnum_rows($result=""){
if($result!=""){
$this->queryResult=$result;
$row=mssql_num_rows($this->queryResult);
return$row;
}
}
/**
*獲取查詢結(jié)果---多個(gè)
**/
functionresult_ar($str=''){
if(empty($str)){
return0;
}
$back=array();
$this->queryResult=$this->query($str);
while($row=$this->fetch_array($this->queryResult)){
$back[]=$row;
}
return$back;
}
/**
*數(shù)據(jù)庫(kù)信息分頁(yè)
*$Result數(shù)據(jù)庫(kù)操作
*str==sql語(yǔ)句
*page==第幾頁(yè)
*showNum==顯示幾頁(yè)
*/
functionpage($Str,$Page=0,$ShowNum=5){
$back=array();//返回?cái)?shù)據(jù)
$maxNum=0;
if($Str==""){
$this->ER="沒有數(shù)據(jù)";
return0;
}
$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;
}
/**
*分頁(yè)的html頁(yè)碼
*/
functionpage_html($DataNum=0,$Page=1,$ShowNum=3,$web,$Post=''){
if($DataNum==0){
$back="沒有要查詢的數(shù)據(jù)";
}else{
if($ShowNum<=0){
$ShowNum=3;
}
if($Page<=0){
$Page=1;
}
if(empty($web)){
$web="#";
}
$pageNum=ceil($DataNum/$ShowNum);
if($Page<=1){
$top="首頁(yè)<<";
}else{
$top="<ahref='".$web."?page=0&".$Post."'target='_self'>首頁(yè)<<</a>";
}
if($Page!==1){
$upPage="<ahref='".$web."?page=".($Page-1)."&".$Post."'target='_self'>上一頁(yè)</a>";
}else{
$upPage="上一頁(yè)";
}
if($Page<$pageNum){
$downPage="<ahref='".$web."?page=".($Page+1)."&".$Post."'target='_self'>下一頁(yè)</a>";
}else{
$downPage="下一頁(yè)";
}
if($Page==$pageNum){
$foot=">>尾頁(yè)";
}else{
$foot="<ahref='".$web."?page=".$pageNum."&".$Post."'target='_self'>>>尾頁(yè)</a>";
}
$back=<<<EOT
共$pageNum頁(yè)&nbsp;&nbsp;
第$Page/$pageNum頁(yè)$top&nbsp;$upPage&nbsp;$downPage&nbsp;$foot
EOT;
}
return$back;
}
}//endclass
?>

以上就是利用php對(duì)mssql進(jìn)行連接時(shí)需要注意哪些事項(xiàng),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI