php接続mssqlのいくつかの関連経験と注意事項

7282 ワード

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("selecttop1id,usernamefromtbname",$conn);
update,insert ,
mssql_query("updatetbnamesetusername='niunv'whereid=1");

4.レコードセットの行数を取得する
 
  
echomssql_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("insertintotbname(username)values('nv')",$conn);
$rs=mssql_query("select@@IDENTITYasid",$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がwebサーバにインストールされているクライアント
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です.
 
  
/**
*mssql
**/
classSQL{
var$server;
var$userName;
var$passWord;
var$dataBase;
var$linkID=0;
var$queryResult;
var$lastInsertID;
var$pageNum=0;// ---
var$ER;
/**
*
**/
functionSQL($Server='',$UserName='',$PassWord='',$DataBase=''){
$this->server=$Server;
$this->userName=$UserName;
$this->passWord=$PassWord;
$this->dataBase=$DataBase;
}
/**
*
**/
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;
}
/**
*
**/
functionquery($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. ,queryerror!!";
return0;//**************** php4.3.9 1
}
return$this->queryResult;
}
/**
*
**/
functionfetch_array($result){
if($result!="")$this->queryResult=$result;
$rec=mssql_fetch_array($this->queryResult);
if(is_array($rec)){
return$rec;
}
//$this->ER=" !";
return0;
}
/**public
*function:FreetheQueryResult
*successreturn1
*failed:return0
*/
functionfreeResult($result=""){
if($result!="")$this->queryResult=$result;
returnmssql_free_result($this->queryResult);
}
/**
*
*
**/
functionnum_rows($result=""){
if($result!=""){
$this->queryResult=$result;
$row=mssql_num_rows($this->queryResult);
return$row;
}
}
/**
* ---
**/
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;
}
/**
*
*$Result
*str==sql
*page==
*showNum==
*/
functionpage($Str,$Page=0,$ShowNum=5){
$back=array();//
$maxNum=0;
if($Str==""){
$this->ER=" ";
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&&$iif($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
*/
functionpage_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=" <<";
}
if($Page!==1){
$upPage=" ";
}else{
$upPage=" ";
}
if($Page$downPage=" ";
}else{
$downPage=" ";
}
if($Page==$pageNum){
$foot=">> ";
}else{
$foot=">> ";
}
$back=<< $pageNum   
$Page/$pageNum $top $upPage $downPage $foot
EOT;
}
return$back;
}
}//endclass
?>