ホームページ >バックエンド開発 >PHPチュートリアル >PHP とデータベース接続_PHP チュートリアル

PHP とデータベース接続_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:03:50854ブラウズ

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 接続

{
echo "SUCCESS ! データベースに接続しました ";
}
それ以外は
{
echo "失敗:-( データベースに接続できませんでした ";
}
Ora_Logoff($conn);
phpinfo();
?>
上記のコードは、TNSNAME (tnsnames.ora ファイルで指定) で定義された Oracle データベース名、ユーザー名、およびパスワードを使用してデータベースに接続します。接続が成功すると、ora_logon 関数はゼロ以外の接続 ID を返し、それを変数 $conn に格納します。

4.2 クエリ

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

4.3 結果の表示

次のコードは、データベースにクエリを実行して結果を出力する方法を示しています。 関数 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)
{
$cursor=ora_open($conn); printoraerr($cursor,$conn);
ora_parse($cursor,$w_qry,0); printoraerr($cursor,$conn);
ora_exec($カーソル); printoraerr($cursor,$conn);
$numrows=0;
$w_numcols=ora_numcols($cursor);
// 显示头部
エコー「
」 <表の幅="100%" ボーダー="0" セル間隔="1" セルパディング="2">

";
for ($i=0;$i {
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
echo " ".ora_columnname($cursor,$i)." ";
}
エコー " ";
while(ora_fetch($cursor))
{
エコー " ";
for ($i=0;$i {
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
if(ora_columntype($cursor,$i)=="LONG")
echo "
".<br>
ora_getcolumn($cursor,$i)."
";
それ以外
echo "".ora_getcolumn($cursor,$i)." ";
printoraerr($cursor,$conn);
}
$数 ;
エコー " ";
}
if ($numrows==0)
echo "クエリはレコードを返しませんでした
";
それ以外は
{
エコー " ";
echo "カウント ";
echo "$numrows ";
エコー " ";
}
echo " ";
ora_close($カーソル);
戻ります;
}

// 主程序
if(!($conn=ora_logon("user@SID","パスワード")))
{
echo "エラー: データベースに接続できません ";
終了します;
}
$qry="選択
部門「部門」
,empno「エンプ」

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/630905.html技術記事 4. データベース接続 PHP 経由でデータベースに接続し、データを要求し、それを Web サイトに表示したり、データベース内のデータを変更したりすることができます。MySQL は非常に人気のあるデータです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。