ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: PHP 用 リモート db クラス利用方法
名前: lightbox
処理選択
パスワード

件名 PHP 用 リモート db クラス利用方法
名前 lightbox
コメント
  @C:red(◎重要)
@DIV
require_once( "http://lightbox.in.coocan.jp/gen/db.txt" );

のように、URL 指定する為には [[PHP5 では必ず allow_url_include を On にする必要があります]]
allow_url_fopen も On である必要がありますが、デフォルトで On になっています。

※ php4 に、allow_url_include はありません
@END


  [[conf.php]]
@DIV
<?php

$conf_client_charset = "shift_jis";
$conf_common_path1 = "http://lightbox.in.coocan.jp/gensjis/";
$conf_common_path2 = "http://lightbox.in.coocan.jp/gen/";

// 1:MySQL, 2:SQLServer, 3:PostgreSQL
// 4:MDB(COM), 5:Oracle(COM/ADO), 6:Oracle(COM/OO4O)
$conf_db_type = 1;

$conf_db_host	= "localhost";
$conf_db_db	= "lightbox";
$conf_db_user	= "root"; 
$conf_db_pass	= ""; 

?>
@END

@DIV
<?php
# **********************************************************
# 外部ファイル
# **********************************************************
require_once( "conf.php" );
require_once( "{$conf_common_path1}common.txt" );
require_once( "{$conf_common_path2}db.txt" );

# **********************************************************
# 接続
# **********************************************************
$SQL = new DB( "localhost", "lightbox", "root", ""  );

# **********************************************************
# 接続解除
# **********************************************************
$SQL->Close();

# **********************************************************
# デバッグ
# **********************************************************
DispData( $_POST['debug'] == 'yes', TRUE );
?>
@END


  [[コンストラクタの仕様]]
@DIV
$SQL = new DB( $Serve, $DbName, $User, $Password );

全て省略した場合は、conf.php の値を使用する

@C:red(複数行の処理をしながら、他の処理をする時は新しいオブジェクトを作成して下さい)
@END


  [[QueryEx メソッドの仕様]]
@DIV
$Column = $SQL->QueryEx( $Query );

$Query に、select 文を指定して、データを読み出して $Column に連想配列としてセットする。
$Column は、0 から始まる数値添字と、列名の二種類が格納されている。
もし、対象データが無い場合は、$Column は @C:red(FALSE) を返す
結果の行が複数ある場合は、引数を省略して呼び出す事によって次のデータが得られる。
@END

@DIV
$Column = $SQL->QueryEx( $Query . $Cond );

$rowcnt = 0;
while ( $Column ) {

	$rowcnt++;
	EditQueryData( $Column );
	if ( $rowcnt >= $rowmax ) {
		$GLOBALS['Message'] = "表示件数が $rowmax 件に制限されました";
		break;
	}

	$Column = $SQL->QueryEx( );

}
@END


  [[Execute メソッドの仕様]]
@DIV
$ret = $SQL->Execute( $Query );

$Query に、行を返さない SQL 文を指定して実行します。
1:MySQL, 2:SQLServer, 3:PostgreSQL の場合は、失敗すると @C:red(FALSE) を返す。
4:MDB(COM), 5:Oracle(COM/ADO), 6:Oracle(COM/OO4O) では常に @C:darkgreen(TRUE) を返す。
@END


http://lightbox.in.coocan.jp/gen/db.txt
http://lightbox.in.coocan.jp/gensjis/common.txt
http://lightbox.in.coocan.jp/geneuc/common.txt