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

PHPデータベース接続

Jun 13, 2016 pm 12:41 PM
phpwebできる存在するデータデータベース見せる聞く簡単接続する合格

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","password"))
{
echo "SUCCESS ! データベースに接続されました"
}
else
{
echo "Failed :-( Could not connect to databasen";
}
Ora_Logoff($conn);
上記のコードは、Oracle データベースを使用してデータベースに接続しますTNSNAME で定義された名前、ユーザー名、パスワード (tnsnames.ora ファイルで指定) に基づいて、ora_logon 関数はゼロ以外の接続 ID を返し、それを変数
に格納します。
4.2 クエリ

データベースへの接続の準備ができたとして、実際にデータベースにクエリを適用してみましょう。次のコードは、接続とクエリの典型的な例を示しています。
/*
* データベースに接続してクエリを実行
*/
function printoraerr($in_cur)
{
// Oracle にエラーがあるかどうかを確認します
// エラーがある場合は表示されます
// ポインタがアクティブ化されている場合、Oracle に対する各リクエストの後にこの関数を呼び出します
if(ora_errorcode($ in_cur))
echo "Oracle コード - ".ora_error($in_cur)."n"
return
}
/**メインプログラム*/
if (!( $conn=ora_logon("user@TNSNAME" ,"password"))) "カーソルを開く ...
n";
$cursor=ora_open($conn); 🎜>echo "開いたカーソル - $cursor
n";
$qry="select user,sysdate from Dual";
echo "クエリ $qry ...
n"; 🎜>ora_parse($cursor,$qry,0); printoraerr($cursor );
echo "クエリを解析しました
n"; >ora_exec($cursor);
echo "カーソル
n を実行しました";
echo "カーソルを取得しています ...
n";カーソル))
$user=ora_getcolumn($cursor ,0);
$sysdate=ora_getcolumn($cursor,1); echo " row = $user, $sysdate
n";
}
echo "すべてのレコードを取得しました
n";
echo "カーソルを閉じています...
n";
ora_close($cursor);
echo "閉じたカーソル
n";
echo "Oracle からログオフします...
n"; >echo "Oracle
n からログオフしました";
> (翻訳者注: 上記のコード部分にはコメントがありません。PHP マニュアルの Oracle データベース関数のセクションを参照してください) >4.3 結果の表示

次のコードは、データベースにクエリを実行して結果を出力する方法を示しています。
function printoraerr($in_cur, $conn)
{
// Oracle にerror
// エラーがある場合は表示されます
// ポインタがアクティブになるたびに、Oracle に一度リクエストした後にこの関数が呼び出されます
// エラーが発生した場合は、すぐに終了します
if(ora_errorcode($in_cur))
{
echo "Oracle コード - ".ora_error($in_cur) )."
n";
ora_logoff($conn); >終了;
}
戻る;   

関数 exequery($w_qry,$conn)
{
$cursor=ora_open($conn);  printoraerr($cursor,$conn);   
ora_parse($cursor,$w_qry,0);  printoraerr($cursor,$conn);   
ora_exec($cursor);  printoraerr($cursor,$conn);   
$numrows=0;   
$w_numcols=ora_numcols($cursor);   
// 显示头部
echo "

n";   
for ($i=0;$i{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"左";   
echo "t ".ora_columnname($cursor,$i)." n";   
}
echo "
n";   
while(ora_fetch($cursor))
{
echo " n";   
for ($i=0;$i{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"左";   
if(ora_columntype($cursor,$i)=="LONG")
echo " "。
ora_getcolumn($cursor,$i)."
n";   
else
echo " ".ora_getcolumn($cursor,$i)." n";   
printoraerr($cursor,$conn);   
}
$numrows ;   
エコー "
n";   
}
if ($numrows==0)
echo " クエリが返されました レコードがありません

n";   
else
{
echo " n";   
エコー 「 カウント n」;   
エコー 「 $numrows n」;   
エコー "
n";   
}
echo " n";   
ora_close($cursor);   
戻る;   
}

// 主程序
if(!($conn=ora_logon("user@SID","password")))
{
echo "エラー: できませんデータベースに接続します。」   
終了;   
}
$qry="SELECT
deptno "部門"
,empno "従業員"
,empnm "名前"
,salary "給与"
FROM
従業員
注文は1,2インチまでに;   
exequery($qry);   
ora_logoff($conn);   
?>   
(译者注:以上代序段缺少注释、请者参照PHPマニュアルのOracleデータベース库関数部分)

4.4 HTTPのOracle登录に基づく

以下の番号はPHP页面に追加されます$ SID を正しく設定する必要があることに注意してください。   
if(!isset($PHP_AUTH_USER))
{
Header("WWW-authenticate: basic realm="$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 : 基本 レルム="$SID"");   
Header("HTTP/1.0 401 Unauthorized");   
$title="ログイン手順";   
echo "

サイトに入る

n";   
終了;   
}
}
?>   

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

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