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.comtruehttp://www.bkjia.com/PHPjc/919260.html技術記事 php の mssql データ サービス コネクションの例、mssql データ サービスの接続 ここでは、php の mssql データ サービス コネクションの例を説明します。具体的には次のように実行します。