11. データベース接続
前のセクションでは、PHP と MySQL データベースの基本的な操作知識を紹介しました。また、インターネット上には PHP と MySQL に関するほとんどのチュートリアルがあります。 MySQL は無料なので、多くの人を魅了するかもしれません。 MySQL は幅広い用途に使用できるため、ここでは MySQL の使用法について詳しく説明しません。 Oracle はエンタープライズ アプリケーションで広く使用されているため、Oracle を使用して PHP とデータベースの接続についてさらに紹介します。 Oracle データベースの設計原則については、議論の範囲を超えているため、言及しません。
PHP は、Oracle に接続するための 2 つの関数セット、つまり ORA_ 関数と OCI 関数を提供します。 ORA_ 関数は少し古いです。 OCI機能のアップデートにより改善されたとのこと。 2 つの使用構文はほぼ同じです。前に述べたように、PHP インストール オプションは両方の使用をサポートしている必要があります。
Microsoft Windows プラットフォーム上での PHP3 をサポートする Apache サーバーのインストールに関する詳細および Oracle データベースに関する詳細については、次の URL を参照してください: www.csoft.net/~vsbabu/articles/oraphp.html。
11.1 接続
if ($conn=Ora_Logon("user@TNSNAME","password"))
{
echo "SUCCESS ! データベースn";
else
{
echo "Failed :-( データベースnに接続できませんでした";
}
Ora_Logoff($conn);
phpinfo();
?>
上記のコードはTNSNAMEを使用しています( tnsnames.ora ファイルで定義された Oracle データベース名、ユーザー名、パスワードを使用してデータベースに接続します。接続に成功すると、ora_logon 関数はゼロ以外の接続 ID を返し、それを変数 $conn に格納します。データベースへの接続の準備ができました。実際にデータベースにクエリを適用してみましょう。次のコードは、接続とクエリの典型的な例を示しています。
/*
* データベースに接続してクエリを実行します
*/
function printoraerr($in_cur)
{
// Oracle にエラーがあるかどうかを確認します
// エラーがある場合は、それを表示します
// ポインタがアクティブになっている場合、各 Oracle リクエストの後にこの関数を呼び出します
if(ora_errorcode($ in_cur) )
echo "Oracle コード - ".ora_error($in_cur)."n"
}
/**メインプログラム*/
if (!($conn=ora_logon("user@TNSNAME") ," パスワード")))
{
echo "データベースへの接続に失敗しました";
}
echo "接続として接続されました - $conn
n";カーソルを開いています ...
n";
$cursor=ora_open($conn); printoraerr($cursor);
echo "カーソルを開いています - $cursor
n" ;
$qry="select user,sysdate from Dual"
echo "クエリ $qry ...
n"; ); printoraerr($cursor);
echo "クエリを解析しました ...
n"; "実行されたカーソル
n";
echo "カーソルを取得しています...
n";
while(ora_fetch($cursor))
$user=ora_getcolumn($cursor,0);カーソル) ;
$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);
echo "行 = $sysdate
n"; echo "すべてのレコードを取得しました
n";
echo "カーソルを閉じています...
n";
echo "カーソルを閉じています
n"; oracle. ..
n";
ora_logoff($conn);
echo "Logged off from oracle
n";
?>
(翻訳者注: 上記のコード部分にはコメントがありません。
11.3 結果の表示
次のコードは、データベースにクエリを実行して結果を出力する方法を示しています:
function printoraerr($in_cur, $conn)
{
// Oracle でエラーが発生しました
// エラーがある場合は表示されます
// ポインタがアクティブ化されると、各 Oracle リクエストの後にこの関数が呼び出されます
// エラーが発生した場合は、すぐに終了します
if(ora_errorcode ($in_cur))
{
echo "Oracle コード - ".ora_error($in_cur)."
n";
ora_logoff($conn)
}
関数 exequery; ($w_qry,$conn)
$ カーソル=ora_open($conn);
ora_parse($cursor,$conn); ora_exec($cursor); printoraerr($cursor, $conn);
$w_numcols=ora_numcols($cursor);
// ヘッダーを表示します "
n"; n"; n" ;
for ($i=0;$i{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT": "LEFT";
echo "t".ora_columnname($cursor,$i)." n";
echo "
while(ora_fetch($cursor))
{
echo "n"; n"; ==0)
for ($i=0;$i{
$align=(ora_columntype($cursor) ,$i)=="NUMBER")?"RIGHT":"LEFT"
if(ora_columntype($cursor,$i)=="LONG")
echo " n"; ". <br>ora_getcolumn($cursor,$i)."
else
echo "".ora_getcolumn( $cursor,$i)." n";
printoraerr($cursor,$conn);
echo "
echo " n"; else クエリはレコードを返しませんでした
{
echo "n"; n";
echo "Count n"; TH ALIGN=RIGHT>$numrowsn";
echo "
}
echo "
ora_close($cursor);
戻る;
}
// 主程序
if(!($conn=ora_logon("user@SID","password")))
{
echo "エラー: データベースに接続できません";
終了;
}
$qry="SELECT
deptno "部門"
,empno "従業員"
,empnm "名前"
,salary "給与"
従業員から
1,2 単位で注文";
exequery($qry);
ora_logoff($conn);
?>
(注:上記のコード セクションは注釈を省略しています。PHP マニュアルの Oracle データ サービス関数の部分を参照してください)
11.4 は HTTP に基づく Oracle 登録
Oracle の登録を確認するには、PHP 面のコードの前に以下のコードを追加します。 $ SID を正しく設定しています。
if(!isset($PHP_AUTH_USER))
{
Header("WWW-authenticate: 基本レルム="$SID"");
Header("HTTP/1.0 401 Unauthorized");
$title="ログイン手順";
echo "
n";
サイトに入る権限がありません
終了;
}
else
{
if (!($conn=ora_logon("$PHP_AUTH_USER@$SID",$PHP_AUTH_PW)))
{
Header("WWW-authenticate: Basic realm="$SID"");
Header("HTTP/1.0 401 Unauthorized");
$title="ログイン手順";
echo "
n";
サイトに入る権限がありません
終了;
}
}
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
