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

4. データベースへの接続

Jun 13, 2016 pm 12:44 PM
phpそしてできる存在する図書館データデータベース見せる聞く簡単接続する合格


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" ;

for ($i=0;$i
{

$align=(ora_columntype($cursor,$i)== "NUMBER")?"RIGHT":"LEFT";

echo " t
n ";

}

echo "
;n";

while(ora_fetch($cursor))

{

echo "
n";

for ($i =0;$i
{

$align=( ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT ";

if(ora_columntype($cursor,$i)=="LONG")

echo "
n";

else

echo "
n";

printoraerr($cursor,$conn);

}

$numrows ;

echo "
n";

}

if ($numrows==0)

echo "
gt;n";

else

{

echo "
n" ;

echo "
n";

echo "
n";

echo "
n";

}

echo "
".ora_columnname($cursor,$i)."
".<br><br>ora_getcolumn($cursor,$i)."
".ora_getcolumn($cursor,$i)."
クエリ
レコードが返されませんでした

Count$numrows
n" ;

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;

}

}

?>

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

mPDF

mPDF

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