ホームページ > php教程 > php手册 > SQL Server データベースに接続するための PHP プログラムの共通クラス

SQL Server データベースに接続するための PHP プログラムの共通クラス

WBOY
リリース: 2016-06-21 08:59:08
オリジナル
1101 人が閲覧しました

多くの友人が、PHP プログラムを使用して SQL Server データベースの共通クラスに接続する方法を私に尋ねます。実際、これは難しいことではありません。少し慎重に、少し辛抱強く、情熱を持って
< を理解することです。 ;?
class DB {
var $Host = "192.168.0.199"; // MySQL サーバーのホスト名
var $Database = "test"; // そのサーバー上の論理データベース名
var $User = "user" ; // データベース ユーザー
var $Password = "パスワード"; // データベース ユーザーのパスワード

var $Link_ID = 0; // mssql_connect() の結果var $Query_ID = 0; // 最新の mssql_query() の結果
var $Row = 0; // 現在の行番号
var $Errno = 0; // クエリのエラー状態
= "";

var $AffNum=0;

/*************************************
*印刷エラー方法: ページ処理のエラーメッセージを表示します。
***************************************/
function Halt($msg) {
printf(" ;< ;/table>データベース エラー: %s
n", $msg);
printf("mssql エラー ;: %s (%s )
n",
$this->Errno,
$this->Error);
die("セッションが停止しました。");
}

/*************************************
*データベースに接続し、デフォルトのデータベースを選択します
*************************************/
function Connect() {
if ( 0 == $this->Link_ID ) {
$this->Link_ID= mssql_connect($this-> Host,$this->User,$this->Password) または die("

$servername" データベースで SQL Server に接続できませんでした"); ,$this->リンクID ">$db=@mssql_select_db($this->データベース,$this->リンクID);
if (!$this->リンクID) {
$this ->Halt("Link -ID == false、mssql_connect が失敗しました");
}
}
}

/*******************************************
*データベースが開いている場合はデータベースを閉じます接続はすでに開いています その後閉じてください
*Connect() を呼び出して処理した後は Close() を使用してください
************************ *** *************/
function Close( ) {
if ( 0 != $this->Link_ID){
mssql_close()
}
}

/*************************************************
*選択、更新、挿入、削除を含む SQL ステートメントを入力
*このメソッドを通じてストアド プロシージャを含むことも呼び出すことができます。
********************************************** ** **/
関数 Query($Query_String) {
$this->Connect();

$this->Query_ID = mssql_query($Query_String);
$this->Row = 0;
if (!$ this->Query_ID) {
$msg=mssql_get_last_message();

if($msg==null || $msg=="")
{
$this-> ;AffNum=1;
return 1;
}

if(strto lower(substr($Query_String,0,6))!="select"){
$this->AffNum=1;
return 1;

$this->Errno = 1;
$this->Error = " mssql インターフェイスは詳細なエラー メッセージを返すことができません)(".$msg.").";
$this->halt("無効な SQL: ".$Query_String);
}
return $this ->Query_ID;
}

/*************************************************** * ***
* クエリ データベース ポインタを次のレコードに移動します
**************************** ** ***********************/
function NextRecord() {
$this->Record = array()
mssql_next_result( $this->クエリ ID) ;
$this->レコード=mssql_fetch_array($this->クエリ ID);

$result=$this->レコード; is_array($result)) return $this->Record;
foreach($result as $key => $value){
$key lower=strto lower($key);
if($key lower) !=$key) $this ->Record[$key lower]=$value;
}

return $this->Record;   }

/*************************************************** * ****
*データベースをクエリするためにポインターの位置を変更します
******************************* ** ***********************/
function Seek($pos) {
if($pos if(eregi("[0-9]",$pos)) mssql_data_seek($this->Query_ID,$pos);
}

/*************************************************** * ****
*データベースへのクエリから取得した総行数を取得します
*************************** ***** ************************/
function NumRows() {
if($this->Query_ID) $num_rows=mssql_num_rows($this->Query_ID) ;
else $num_rows=$this->AffNum;

$num_rows を返します。
}

/*******************************************************
   *字段数
   *******************************************************/
function NumFields() {
return count($this->Record)/2;
}

/*******************************
*このフィールドの値
********* * **********************/
function FieldValue($Field_Name){
return $this->Record[$Field_Name];
}

/******************************
*更新、挿入、削除によって影響を受ける行の数
***** * ************************/
function AffectedRows() {
if($this->Query_ID) return mssql_num_rows($this->Query_ID);
else{
return $this->AffNum;
}
}
?>


以下の使用例:

//構築新しい DB 类
$DBConn=new DB;

//写入sql查询语句
$SqlStr="select * from test";
$DBConn->Query($SqlStr);

//循環出力查询得られた結果
while($Row=$DBConn->NextRecord()){
echo $Row[testid];
}

//关闭データベース库连接続
$DBConn->Close();
?>



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート