PHP 初心者向け (12)
11. データベース接続
前のセクションでは、PHP と 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。
11.1 接続
if ($conn=Ora_Logon("user@TNSNAME","password"))
{
echo "SUCCESS ! データベースn";
else
{
echo "Failed :-( データベースnに接続できませんでした";
}
Ora_Logoff($conn);
phpinfo();
?>
上記のコードはTNSNAMEを使用しています( tnsnames.ora ファイルで定義された Oracle データベース名、ユーザー名、パスワードを使用してデータベースに接続します。接続に成功すると、ora_logon 関数はゼロ以外の接続 ID を返し、それを変数 $conn に格納します。データベースへの接続の準備ができました。実際にデータベースにクエリを適用してみましょう。次のコードは、接続とクエリの典型的な例を示しています。
/*
* データベースに接続してクエリを実行します
*/
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
n";カーソルを開いています ...
n";
$cursor=ora_open($conn); printoraerr($cursor);
echo "カーソルを開いています - $cursor
n" ;
$qry="select user,sysdate from Dual"
echo "クエリ $qry ...
n"; ); printoraerr($cursor);
echo "クエリを解析しました ...
n"; "実行されたカーソル
n";
echo "カーソルを取得しています...
n";
while(ora_fetch($cursor))
$user=ora_getcolumn($cursor,0);カーソル) ;
$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);
echo "行 = $sysdate
n"; echo "すべてのレコードを取得しました
n";
echo "カーソルを閉じています...
n";
echo "カーソルを閉じています
n"; oracle. ..
n";
ora_logoff($conn);
echo "Logged off from oracle
n";
?>
(翻訳者注: 上記のコード部分にはコメントがありません。
11.3 結果の表示
次のコードは、データベースにクエリを実行して結果を出力する方法を示しています:
function 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)
$ カーソル=ora_open($conn);
ora_parse($cursor,$conn); ora_exec($cursor); printoraerr($cursor, $conn);
$w_numcols=ora_numcols($cursor);
// ヘッダーを表示します "
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"; ==0)
for ($i=0;$i<$w_numcols;$i++)
{
$align=(ora_columntype($cursor) ,$i)=="NUMBER")?"RIGHT":"LEFT"
if(ora_columntype($cursor,$i)=="LONG")
echo " n"; ". <br>ora_getcolumn($cursor,$i)."
else
echo "".ora_getcolumn( $cursor,$i)." n";
printoraerr($cursor,$conn);
echo "
echo " n"; else クエリはレコードを返しませんでした
{
echo "n";
echo "Count n"; TH ALIGN=RIGHT>$numrowsn";
echo "n";
}
echo "
ora_close($cursor);
戻る;
}
// 主程序
if(!($conn=ora_logon("user@SID","password")))
{
echo "エラー: データベースに接続できません";
終了;
}
$qry="SELECT
deptno "部門"
,empno "従業員"
,empnm "名前"
,salary "給与"
従業員から
1,2 単位で注文";
exequery($qry);
ora_logoff($conn);
?>
(注:上記のコード セクションは注釈を省略しています。PHP マニュアルの Oracle データ サービス関数の部分を参照してください)
11.4 は HTTP に基づく Oracle 登録
Oracle の登録を確認するには、PHP 面のコードの前に以下のコードを追加します。 $ SID を正しく設定しています。
if(!isset($PHP_AUTH_USER))
{
Header("WWW-authenticate: 基本レルム="$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: Basic realm="$SID"");
Header("HTTP/1.0 401 Unauthorized");
$title="ログイン手順";
echo "
n";
サイトに入る権限がありません
終了;
}
}
?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

今日の急速な技術発展の時代では、雨後の筍のようにプログラミング言語が出現しています。多くの注目を集めている言語の 1 つは Go 言語です。Go 言語は、そのシンプルさ、効率性、同時実行の安全性などの機能により多くの開発者に愛されています。 Go 言語は、多くの優れたオープンソース プロジェクトがある強力なエコシステムで知られています。この記事では、厳選された 5 つの Go 言語オープンソース プロジェクトを紹介し、読者を Go 言語オープンソース プロジェクトの世界へ導きます。 KubernetesKubernetes は、自動化されたオープンソースのコンテナ オーケストレーション エンジンです。

「Go 言語開発の要点: 5 つの人気フレームワークの推奨事項」 高速で効率的なプログラミング言語として、Go 言語はますます多くの開発者に好まれています。開発効率を向上させ、コード構造を最適化するために、多くの開発者はフレームワークを使用してアプリケーションを迅速に構築することを選択します。 Go 言語の世界には、選択できる優れたフレームワークが数多くあります。この記事では、5 つの人気のある Go 言語フレームワークを紹介し、読者がこれらのフレームワークをよりよく理解して使用できるように、具体的なコード例を示します。 1.GinGin は高速な軽量 Web フレームワークです。

パート 1: 最初のトラブルシューティング手順 Apple のシステムステータスを確認する: 複雑な解決策を掘り下げる前に、基本から始めましょう。問題はデバイスにあるのではなく、Apple のサーバーがダウンしている可能性があります。 Apple のシステム ステータス ページにアクセスして、AppStore が適切に動作しているかどうかを確認してください。問題があれば、Apple が修正してくれるのを待つしかありません。インターネット接続を確認します。「AppStore に接続できません」問題は接続不良が原因である場合があるため、安定したインターネット接続があることを確認してください。 Wi-Fi とモバイル データを切り替えるか、ネットワーク設定をリセットしてみてください ([一般] > [リセット] > [ネットワーク設定のリセット] > [設定])。 iOS バージョンを更新します。

インターネットの発達や情報技術の進歩によりビッグデータの時代が到来し、データ分析や機械学習などの分野も広く活用されています。これらの分野では、タスクのスケジューリングは避けられない問題です。効率的なタスクのスケジューリングを実現する方法は、効率を向上させるために重要です。この記事では、Golang の Web フレームワーク Echo フレームワークを使用して分散タスク スケジューリングを実装する方法を紹介します。 1. Echo フレームワークの概要 Echo は、高性能、スケーラブル、軽量の GoWeb フレームワークです。 HTTPに基づいています

Laravel は、拡張性と効率性に優れた人気の PHP フレームワークであり、開発者が高品質の Web アプリケーションを迅速に構築できる強力なツールとライブラリを多数提供しています。その中でも、LaravelEcho と Pusher は、WebSocket 通信を簡単に実装できる 2 つの非常に重要なツールであり、この記事では、Laravel アプリケーションでこれら 2 つのツールを使用する方法について詳しく説明します。 WebSocket とは何ですか? Webソケット

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code
