ホームページ >バックエンド開発 >PHPチュートリアル >php を mssql_PHP に接続する際の関連する経験と注意事項のチュートリアル

php を mssql_PHP に接続する際の関連する経験と注意事項のチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:13:42904ブラウズ

PHP が MSSQL に接続できるようにするには、システムに MSSQL と PHP をインストールし、PHP.ini の構成で
;extension=php_mssql.dll
1 の前にある ; を削除する必要があります。
コードをコピーします

コードは次のとおりです: $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];//ユーザー名フィールドの値を取得します }

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. レコードセットを解放します



コードは次のとおりです:



8. 接続を閉じます
コードをコピーします コードは次のとおりです:

mssql_close($conn);

注: ASP で MYSQL を接続するよりも PHP で MSSQL を操作する方が簡単なので、MSSQL と MYSQL を共存させる必要がある場合は、 を使用します。 PHP を MSSQL に接続して MYSQL と MSSQL を共存させるのは比較的シンプルで使いやすいです。ASP が MYSQL に接続する場合、残念ながら Windows の ODBC はインストールされません。 1. 少なくとも Web サーバーの mssql クライアントにインストールします
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 から対応するクラスを取得できます 以下はクラスですそこをベースに修正しました

コードをコピー
コードは次のとおりです:

/**
*mssql データベース接続クラス
**/
classSQL{
var$server;
var$ユーザー名;
var$passWord;
var$データベース;
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->リンクID){
$this->ER="db_connect($this->サーバー,$this->ユーザー名,$this->パスワード)エラー";
return0;
}
if(!mssql_select_db($this->dataBase,$this->linkID)){
$this->ER="mssql_select_db($this->dataBase,$this->lastInsertID)エラー";
return0;
}
return$this->リンクID;
}
/**public
*関数:データベースを確認し、存在する場合は選択
*exist:return1
*notexist:return0
*/
functionselectDatabase(){
if(mssql_select_db($this->dataBase))
return1;
そうでなければ
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.没操作成功,クエリエラー!!";
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 >queryResult)){
$back[]=$row;
}
return$back
}
/**
*データベース情報のページング
*$Result データベース操作
*str==sqlステートメント
*page==どのページ
*showNum==表示するページ数
*/
functionpage($Str,$Page=0,$ShowNum=5){
$back=array();// 返される回数
$maxNum=0;
if($Str==""){
$this->ER="没数データ"
}
$this ->queryResult=$this->query($Str);
if($this->queryResult){
if($Page==""){
$nopa=0; nopa=($Page-1)*$ShowNum;
if($nopa}
}
$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;
$バックを返す;
}
/**
*ページのHTMLページ番号
*/
functionpage_html($DataNum=0,$Page=1,$ShowNum=3,$web,$Post=''){
if($DataNum==0){
$back="没要查询的データ";
}else{
if($ShowNum$ShowNum=3;
}
if($Page$Page=1;
}
if(empty($web)){
$web="#";
}
$pageNum=ceil($DataNum/$ShowNum);
if($Page$top="首页<<";
}else{
$top="首页<<";
}
if($Page!==1){
$upPage="上一页";
}else{
$upPage="上一页";
}
if($Page<$pageNum){
$downPage="下一页";
}else{
$downPage="下一页";
}
if($Page==$pageNum){
$foot=">>尾页";
}else{
$foot=">>尾页";
}
$back=<<共$pageNum页
第$Page/$pageNum页$top $upPage $downPage $foot
EOT;
}
return$back;
}
}//エンドクラス
?>





http://www.bkjia.com/PHPjc/326457.html
www.bkjia.com

tru​​e

技術記事 PHP を MSSQL に接続できるようにするには、MSSQL、PHP をインストールし、PHP.ini 内の構成で、;extension=php_mssql.dll を前に; 削除する必要があります。 1. MSSQL の接続: $conn=mssql.. .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。