ホームページ >バックエンド開発 >PHPチュートリアル >PHP mssql データベース接続クラス インスタンス、mssql データベース接続_PHP チュートリアル

PHP mssql データベース接続クラス インスタンス、mssql データベース接続_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:12:50897ブラウズ

php mssql データベース接続クラス インスタンス、mssql データベース接続

この記事では、PHP の mssql データベース接続クラスのサンプル コードを説明し、参考のために共有します。

具体的な実装コードは次のとおりです:

コードをコピーします コードは次のとおりです:
クラス DB_Sql {
  var $Host = "";
  var $Database = "";
  var $User = "";
  var $Password = "";
  var $Link_ID = 0;
  var $Query_ID = 0;
  var $Record = array();
  var $Row = 0;
  
  var $Errno = 0;
  var $Error = "";
  var $Auto_Free = 0;     ## 結果を自動的に解放するには、これを 1 に設定します
  
  関数 DB_Sql($query = "") {
      $this->クエリ($クエリ);
  }
  関数 connect() {
    if ( 0 == $this->Link_ID ) {
      $this->Link_ID=mssql_connect($this->ホスト, $this->ユーザー, $this->パスワード);
      if (!$this->Link_ID)
        $this->halt("リンク ID == false、mssql_pconnect が失敗しました");
      それ以外は
          @mssql_select_db($this->データベース, $this->リンク_ID);
    }
  }
  関数 free_result(){
      mssql_free_result($this->Query_ID);
      $this->Query_ID = 0;
  }
  
  関数クエリ($Query_String)
  {
    
    /* 空のクエリは PHP4 で停止するため、使用しないでください。 */
    if ($Query_String == "")
      /* 空のクエリ文字列がコンストラクターから渡されます
       * クエリなしでクラスを呼び出す場合、例:状況に応じて
       * 次のように: '$db = new DB_Sql_Subclass;'
       */
      0を返します。
      if (!$this->Link_ID)
        $this->connect();
    
# printf("
デバッグ: query = %s
", $Query_String);
 
 $this->Query_ID = mssql_query($Query_String, $this->Link_ID);
    $this->行 = 0;
    if (!$this->Query_ID) {
      $this->エラー番号 = 1;
      $this->Error = "一般エラー (MSSQL インターフェイスは詳細なエラー メッセージを返すことができません)。";
      $this->halt("無効な SQL: ".$Query_String);
    }
    $this->Query_ID を返す;
  }
  
  関数 next_record() {
      
    if ($this->Record = mssql_fetch_row($this->Query_ID)) {
      // Record[] に追加します
      $count = mssql_num_fields($this->Query_ID);
      for ($i=0; $i           $fieldinfo = mssql_fetch_field($this->Query_ID,$i);
        $this->レコード[strto lower($fieldinfo->name)] = $this->レコード[$i];
      }
      $this->行 += 1;
      $stat = 1;
    } その他 {
      if ($this->Auto_Free) {
            $this->free_result();
          }
      $stat = 0;
    }
    $stat を返します。
  }
  
  関数シーク($pos) {
        mssql_data_seek($this->Query_ID,$pos);
      $this->行 = $pos;
  }
  関数メタデータ($table) {
    $count = 0;
    $id = 0;
    $res = array();
    $this->connect();
    $id = mssql_query("select * from $table", $this->Link_ID);
    if (!$id) {
      $this->エラー番号 = 1;
      $this->Error = "一般エラー (MSSQL インターフェイスは詳細なエラー メッセージを返すことができません)。";
      $this->halt("メタデータ クエリが失敗しました。");
    }
    $count = mssql_num_fields($id);
    
    for ($i=0; $i         $info = mssql_fetch_field($id, $i);
      $res[$i]["テーブル"] = $テーブル;
      $res[$i]["名前"] = $info["名前"];
      $res[$i]["len"] = $info["max_length"];
      $res[$i]["フラグ"] = $info["数値"];
    }
    $this->free_result();
    $res を返します。
  }
  
  関数影響を受ける_rows() {
// PHP3/4 ではサポートされていない機能です。  クリス・ジョンソン、2001年5月16日。
// return mssql_affected_rows($this->Query_ID);
    $rsRows = mssql_query("@@rowcount を行として選択", $this->Link_ID);
    if ($rsRows) {
       return mssql_result($rsRows, 0, "行");
    }
  }
  
  関数 num_rows() {
    return mssql_num_rows($this->Query_ID);
  }
  
  関数 num_fields() {
    return mssql_num_fields($this->Query_ID);
  }
  関数 nf() {
    $this->num_rows(); を返します。
  }
  
  関数 np() {
    print $this->num_rows();
  }
  
  関数 f($フィールド名) {
    return $this->Record[strto lower($Field_Name)];
  }
  
  関数 p($フィールド名) {
    print $this->f($Field_Name);
  }
  
  関数停止($msg) {
    printf("データベース エラー: %s
", $msg);
    printf("MSSQL エラー: %s (%s)
",
      $this->エラー、
      $this->エラー);
    die("セッションが停止されました。");
  }
}

ここで説明されている大規模な PHP プログラムの設計が役立つことを望みます。

http://www.bkjia.com/PHPjc/919260.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/919260.html技術記事 php の mssql データ サービス コネクションの例、mssql データ サービスの接続 ここでは、php の mssql データ サービス コネクションの例を説明します。具体的には次のように実行します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。