4. データベース接続
PHP を使用すると、データベースに簡単に接続し、データを要求して Web サイトに表示したり、データベース内のデータを変更したりすることができます。 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。
4.1 接続
if ($conn=Ora_Logon("user@TNSNAME","パスワード) "))
{
echo "SUCCESS ! データベースに接続しましたn";
}
else
{
echo "失敗:-( データベースに接続できませんn";
}
Ora_Logoff($conn);
phpinfo();
?>
上記のコードは、TNSNAME (tnsnames.ora ファイルで指定) で定義された Oracle データベース名、ユーザー名、およびパスワードを使用します。成功した接続に基づいて、ora_logon 関数はゼロ以外の接続 ID を返し、それを変数 $conn に格納します。4.2 クエリ
データベースへの接続の準備ができたと仮定して、実際にデータベースにクエリを適用してみましょう。次のコードは、接続とクエリの典型的な例を示しています:
/*
* データベースに接続し、クエリを実行します
*/
function printoraerr($in_cur)
{
// Oracle にエラーがあるかどうかを確認します
// エラーがある場合は表示します
// ポインタがアクティブ化されると、この関数は Oracle へのリクエストのたびに呼び出されます
if(ora_errorcode($in_cur))
echo "Oracle code - "。 ora_error($in_cur)."n ";
return;
}
/**メインプログラム*/
if (!($ conn=ora_logon("user@TNSNAME ","password")))
{
echo "データベースへの接続に失敗しました";
exit;
}
echo "接続として接続されました - $conngt;
n";
echo "カーソルを開いています...
n" ;
$cursor=ora_open($conn); printoraerr($cursor);
echo "開いたカーソル - $cursor
n";
$qry ="select user,sysdate from Dual";
echo "クエリを解析しています $qry ...
n";
ora_parse($cursor,$qry,0); printoraerr($cursor);
echo "クエリが解析されました
n";
echo "カーソルを実行しています。 ..
n" ;
ora_exec($cursor); printoraerr($cursor);
echo "カーソルを実行しました
n";
echo "カーソルを取得しています ...n";
while(ora_fetch($cursor))
{
$user=ora_getcolumn($cursor,0) ; printoraerr($cursor);
$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);
echo " 行 = $sysdate < ;/B>
n";
}
echo "すべてのレコードを取得しました
n";
echo "カーソルを閉じています...n";
ora_close($cursor);
echo "カーソルを閉じました
n";
echo "Oracle からログオフしています... n";
ora_logoff($conn);
echo "Oracle からログオフしました
n";
?>
(翻訳者注: 上記のコードにはコメントがありません。PHP マニュアルの Oracle データベース関数のセクションを参照してください)
4.3 結果の表示
次のコードは、データベースにクエリを実行して結果を出力する方法を示しています:
function printoraerr($in_cur, $conn)
{
// Oracle がエラーをしたかどうかを確認します
// エラーがある場合は表示されます
// ポインタがアクティブ化されると、この関数は毎回呼び出されますOracle へのリクエスト
// エラーが発生した場合は、すぐに終了します
if(ora_errorcode($in_cur))
{
echo "Oracleコード - ".ora_error($in_cur)."
n";
ora_logoff($conn);
終了;
}
return;
}
関数 exequery($w_qry,$conn)
{
$cursor=ora_open($ conn); printoraerr($cursor,$conn);
ora_parse($cursor,$w_qry,0);
ora_exec($cursor); printoraerr($cursor,$conn);
$numrows=0;
$w_numcols=ora_numcols($cursor);
// ヘッダーを表示
echo "CELLPADDING="2">
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";
for ($i =0;$i
{
$align=( ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT ";
if(ora_columntype($cursor,$i)=="LONG")
echo " n";".<br><br>ora_getcolumn($cursor,$i)."
else
echo "".ora_getcolumn($cursor,$i)." n";
printoraerr($cursor,$conn);
}
$numrows ;
echo "
}
if ($numrows==0)
echo "gt; n";クエリ
レコードが返されませんでした
else
{
echo "n" ; n";
echo "Count n";
echo "$numrows n";
echo "
}
echo "
ora_close($cursor);
return;
}
// 主程序
if(!($conn=ora_logon("user@SID","password")))
{
echo "エラー: データベースに接続できません";
exit;
}
$qry="SELECT
deptno "デパート"
,empno "Emp"
,empnm " Name"
,salary "給与"
FROM
従業員
ORDER BY 1,2";
exequery($qry );
ora_logoff($conn);
?>
(译者注:以上代码段缺少注释,请读者参照PHPマニュアルのOracleデータベース库数関数部分)
4.4 は HTTP の Oracle 登録に基づいています
Oracle 登録を承認するには、以下のコードを PHP 面のコードの前に追加します。定$ SID。
if(!isset($PHP_AUTH_USER))
{
Header("WWW-authenticate: basic realm="$SID"");
Header("HTTP/1.0 401 Unauthorized");
$title="ログイン手順";
echo "
n";
入力する権限がありませんサイト
exit;
}
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";
サイトに入る権限がありません
exit;
}
}
?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ホットトピック









