検索
ホームページphp教程php手册データベース接続

PHP を通じて、データベースに簡単に接続してリクエストを行うことができますデータを作成してウェブサイトに表示したり、データベース内のデータを変更したりすることもできます。 MySQL は非常に人気のあるデータベースであり、インターネット上には PHP および 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
1
接続


if ($ conn=Ora_Logon("user@TNSNAME","password")) {
echo "SUCCESS ! データベースに接続しました; }
else
{
echo "失敗:-( データベースnに接続できませんでした"
; }

Ora_Logoff($conn);
phpinfo(); 🎜>上記のコードは

TNSNAME
(tnsnames.ora ファイルで指定) を使用します。成功した接続に基づいて、Oracle データベース名、ユーザー名、およびパスワード、ora_logon関数は ゼロ以外の 接続ID を返し、それを変数 $conn in. 2 Query

への接続があると仮定します。データベースの準備ができました。データベース クエリの実際のアプリケーションを見てみましょう。次のコードは、接続とクエリの典型的な例を示しています。 🎜>
データベースに接続し、クエリを実行します
*/ 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
gt;
br>n"; echo "カーソルを開いています...br>n"; $cursor=
ora_open($conn); printoraerr($cursor); echo "開いたカーソル - $cursorbr>n"; $
qry="デュアルから user,sysdate を選択します"; echo "クエリを解析しています $
qry
...br>n";
ora_parse($cursor,$qry,0); printoraerr($cursor); echo "クエリが解析されました
br>n"; echo "カーソルを実行しています...br>n";
ora_exec($cursor); printoraerr($cursor); echo "カーソルを実行しました
br>n"; echo "カーソルを取得しています ...br>n"; while(
ora_fetch($cursor)) {
$user=
ora_getcolumn($cursor,0); printoraerr($cursor); $
sysdate=ora_getcolumn($cursor,1); printoraerr($cursor); echo " row = $user, $
sysdate
br>n"; }
echo "すべてのレコードを取得しましたbr>n"; echo "カーソルを閉じています...br>n";
ora_close($cursor); echo "カーソルを閉じた
br>n"; echo "Oracle からログオフしています... br>n";
ora_logoff($conn); echo "Oracle からログオフしました br>n"; ?>

(译者注:以上代序段缺少注释,请读者参照PHP マニュアルOracleデータ库関数数部分)
3
显示结果

以下代演演示了怎样查询データ库并将結果出力:
function
printoraerr($in_cur, $conn) {
//
检查Oracle かどうか错 //
如果存在错误则显示 // ポインタがアクティブ化されると、Oracle
への各リクエストの後にこの関数が呼び出されます//エラーが発生した場合は、すぐに終了します
if(ora_errorcode($in_cur))
{
echo "Oracle コード - ".ora_error( $in_cur)."br
>n";
ora_logoff($conn); ;
}
return;
}

関数
exequery($w_qry,$conn) {
$cursor =
ora_open($conn) printoraerr($cursor,$conn); ($ カーソル,$w_qry,0); printoraerr
($cursor,$conn); ora_exec($cursor); ($
カーソル,$conn); $numrows=0; $w_numcols
=ora_numcols ($ カーソル);
// ヘッダーを表示
echo "

n"; for ($i
=0;$iw_numcols;$i
++ )
{ $align=(ora_columntype($cursor,$i
)=="NUMBER")?"RIGHT":"LEFT"; echo "t
n"; 🎜 >echo "n"; while(
ora_fetch($cursor)) { echo "n"; $ i
=0;$iw_numcols;$i
++) { $align=(
ora_columntype
($ カーソル,$i
)=="NUMBER")?"RIGHT":"LEFT"; if(ora_columntype($カーソル,$i
)= = "LONG")
エコー "ora_getcolumn($cursor,$i
) . "n"; else echo "ora_getcolumn($
cursor) , $i
)."n"; printoraerr($cursor,$conn
)
$numrows++; echo "n" }
if ($numrows==0) echo "w_numcols
">クエリはレコードを返しませんでした
n"; else {
echo "
n";
echo "n " ;
echo "n";
echo "n"; } echo "
".
ora_columnname($cursor,$i)."
Count$numrows
n";

ora_close
($cursor)
}

//


if(!($
conn=ora_logon
("
user@SID","パスワード
")))
{ echo "エラー: データベースに接続できません"; 終了; $qry
="SELECT deptno " " ,empno "
Emp
"
,
empnm
"名前" ,salary "給与" FROM
従業員 ORDER BY 1,2";
exequery(
$qry);

ora_logoff
($
conn
);
(翻訳者注: 上記のコード スニペットにはコメントがありません。PHP マニュアルOracle を参照してください。データベース関数 パート)

4
HTTP ベース Oracle ログイン

PHP ページ コードの前に次のコードを追加して、Oracle を確認します。 ログインします。 $ SID を正しく設定する必要があることに注意してください。

if(!isset($PHP_AUTH_USER))
{
Header("WWW-authenticate: Basic realm="$SID "");
Header("HTTP/1.0 401 Unauthorized");
$title="ログイン手順"
echo "blockquote
>
サイトに入る権限がありません
blockquote> 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 "blockquote>
あなたは サイトへのアクセスを許可
blockquote> n";
exit;
}
}
?>



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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Mac版

SublimeText3 Mac版

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

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版

SublimeText3 中国語版

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール