ホームページ >php教程 >php手册 >Oracleデータベースアクセスオブジェクト

Oracleデータベースアクセスオブジェクト

WBOY
WBOYオリジナル
2016-06-21 09:13:121209ブラウズ

アクセス|オブジェクト|オラクル

 
呼び出し例:
$conn = OCILogon("www_cec", "webchn99", "unicorn");
#または単に "include("modcec_OCI_conn.php3");"

$ のようにファイルをインクルードすることもできますnewOda= new ODA($conn);
#################
#または、次のようなログイン方法を使用することもできます
#$newOda-=new ODA();
# $newOda->Logon("www","99","corn");
############################# ##################
$newOda->CmdString=" テスト セット nouse='dfs' を更新します (login_name='guoyafeng'";
if(!$newOda- >Execute()) {
echo $newOda->err;
}
else
{
echo $newOda->Rows;  #影響を受ける行番号を取得します。
}
#または、次のように実行を呼び出すこともできます####
/*
$newOda->Execute(" update test set nouse='dfs' where login_name='guoyafeng'") ;
*/
#############################

#次は、open メソッドを示します。
$newOda-> Open("select * from test")) または die $newOda->err;

#RS からデータを取得
echo "count is" .$newOda->Rows;
for($i=0;$i< ;$newOda->Rows;$i++)
for($j=0;$j<$newOda->Cols;$j++)
{
echo $newOda->RS[$i][$j] ;

}


$newOda->Logoff();
?>
/*************************************************** ****************************#
# ファイル名:ODA.php3 #
# 著者:Guo Yafeng #
# 機能: Oracle DBアクセス。                          #
# メイン履歴: #
# 2000 年 9 月 18 日の最初のリリース。                                            #
# #
# #
#**************************************** **************************************/


/************* ************************************************* *****************#
#オブジェクトインターフェイスの説明: #
# プロパティ: #
# conn 接続オブジェクト#
# err_no エラー番号 #
# エラーエラーの説明 #
# CmdString 実行する SQL ステートメント。                           #
# 行 影響を受ける行。                                      #
# RS 戻り値の配列。                                  
# コル #
# #
# メソッド: #
# Open CmdString を実行して値を返す #
# Execute CmdString を実行します。                               #
#********************************************* *********************************/

   file://$conn = OCILogon("www_ce", "ceonline99", "wsgp");
// $conn = OCILogon("www_cec", "webchn99", "unicorn");
// if ($SERVER_NAME == "")
// $SERVER_NAME = $HTTP_HOST;

class ODA
{




function ODA($cn="") {

if($cn!="")
$this- >conn=$cn;
return TRUE;

}

function Logon($user,$pass,$db) {

if(!($this->conn = OCILogon($user, $pass, $db))){

$this->err_no=106;
$this->err="エラー 106: ログオンに失敗しました。";
return FALSE;
};

return TRUE;

}
関数 Open($sql="") file://$this->CmdString
{
if($this->conn=="") {
$this->err_no=100;
$this ->err="エラー 100、接続オブジェクトが必要です。";
return FALSE;
}

if($sql=="" and $this->CmdString=="") {
$this-> err_no=101;
$this->err="エラー 101,SQL ステートメントが必要です。";
return FALSE;
}
if($sql=="")
$sql=$this->CmdString;
if(!($cursor=OCIParse($this->conn,$sql))) {
$this->err_no=102;
$this->err="サーバー内部エラー: SQL ステートメントの解析に失敗しました.";
return FALSE;
}

if(!OCIExecute($cursor)) {
$this->err_no=103;
$this->err="サーバー内部エラー: SQL ステートメントの実行に失敗しました。 ";
return FALSE;
}
$this->Rows=0;
while(OCIFetchInto($cursor,$this->RS[$this->Rows])){

$this-> Rows++;

}
$this->Cols=OCINumCols($cursor);

if($this->Rows==0) {

$this->err_no=104;
$this-> ;err="警告: 影響を受ける行はありません。RS 結果は使用できません。";
}

OCIFreeStatement($cursor);

return TRUE;
}


function Execute($sql="") {
場合($this->conn=="") {
$this->err_no=100;
$this->err="エラー 100、接続オブジェクトが必要です。";
FALSE;


もし($sql=="" および $this->CmdString=="") {
$this->err_no=101;
$this->err="エラー 101、SQL ステートメントが必要です。";
return FALSE;
}
if($sql=="")
$sql=$this->CmdString;

    if(!($cursor=OCIParse($this->conn,$sql))) {
$this->err_no=102;
$this->err="サーバー内部エラー: SQL ステートメントの解析に失敗しました.";
return FALSE;
}


if(!OCIExecute($cursor)) {
$this->err_no=103;
$this->err="サーバー内部エラー: F SQL ステートメントの実行に失敗しました.";
return FALSE;
}
$this->Rows=OCIRowCount($cursor);
OCIFreeStatement($cursor);

return TRUE;
}
関数 LogOff(){

if(!OCILogoff( $conn)){

$this->err_no=105;
$this->err="サーバー内部エラー: データベースのログオフに失敗しました。";
return FALSE;
}
return TRUE;

}
}
?>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。