データ|データベース|データベース接続
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","password"))
{
echo "n";
}
else
{
echo "失敗:-( データベース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 code - ".ora_error($in_cur)."n";
return;
}
/** メインプログラム* /
if (!($conn=ora_logon("user@TNSNAME","password")))
{
echo "データベースへの接続に失敗しました";
exit;
}
echo "接続として接続されました - $conngt;
n";
echo "カーソルを開いています...
n";
$カーソル=ora_open( $conn); printoraerr($cursor);
echo "開いたカーソル - $cursor
n";
$qry="ユーザーを選択,sysdate from Dual";
echo "クエリを解析しています $qry ...
n";
ora_parse($cursor,$qry,0); printoraerr($cursor );
echo "クエリが解析されました
n";
echo "カーソルを実行しています ...
n";
ora_exec($cursor);
echo "カーソルを実行しました
n";
echo "カーソルをフェッチしています...
n";
while(ora_fetch($cursor))
{
$user=ora_getcolumn ($cursor, 0);
$sysdate=ora_getcolumn($cursor,1);
echo " row = $user, $sysdate < ;/B>
n";
}
echo "すべてのレコードを取得しました
n";
echo "カーソルを閉じています...
n";
ora_close ($cursor) ;
echo "カーソルを閉じています
n";
echo "Oracle からログオフしています...
n";
ora_logoff($conn);
echo "Logged off from 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);
exit;
}
return ;
}
function exequery($w_qry,$conn)
{
$cursor=ora_open($ conn); printoraerr($cursor,$conn);
ora_parse($cursor,$conn);
ora_exec($cursor,$) conn);
$numrows=0;
$w_numcols= ora_numcols($cursor);
// ヘッダーを表示
echo "
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";
for ($i=0;$i{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
if(ora_columntype($cursor,$i)=="LONG")
echo "
ora_getcolumn($cursor,$i)."
else
echo "".ora_getcolumn($cursor,$i)." n";
printoraerr($cursor,$conn);
}
$numrows++;
echo "
}
if ($numrows==0)
echo " n";クエリはレコードを返しませんでした
else
{
echo "< ;TR>n";
echo "Count n";
echo "$numrows n";
echo "n";
}
echo "
ora_close($cursor);
return;
}
// 主程序
if(!($conn=ora_logon("user@SID","password")))
{
echo "エラー: データベースに接続できません";
exit;
}
$qry="SELECT
deptno "部門"
,empno "Emp"
,empnm "名前"
,salary "給与"
FROM
従業員
ORDER BY 1,2";
exequery($qry);
ora_logoff($conn);
?>
(注:以上の代コード段落の注釈、请者参照 PHP マニュアルの Oracle データベース関数の部分)
4.4 は HTTP の Oracle 登録に基づいています
注意: 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";
あなたには権限がありませんサイトに入ります
終了;
}
}
?>

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

在当今科技快速发展的时代,编程语言也如雨后春笋般涌现出来。其中一门备受瞩目的语言就是Go语言,它以其简洁、高效、并发安全等特性受到了许多开发者的喜爱。Go语言以其强大的生态系统而著称,其中有许多优秀的开源项目。本文将介绍五个精选的Go语言开源项目,带领读者一起探索Go语言开源项目的世界。KubernetesKubernetes是一个开源的容器编排引擎,用于自

《Go语言开发必备:5个热门框架推荐》Go语言作为一门快速、高效的编程语言,受到越来越多开发者的青睐。为了提高开发效率,优化代码结构,很多开发者选择使用框架来快速搭建应用。在Go语言的世界中,有许多优秀的框架可供选择。本文将介绍5个热门的Go语言框架,并提供具体的代码示例,帮助读者更好地理解和使用这些框架。1.GinGin是一个轻量级的Web框架,拥有快速

第1部分:初始故障排除步骤检查苹果的系统状态:在深入研究复杂的解决方案之前,让我们从基础知识开始。问题可能不在于您的设备;苹果的服务器可能会关闭。访问Apple的系统状态页面,查看AppStore是否正常工作。如果有问题,您所能做的就是等待Apple修复它。检查您的互联网连接:确保您拥有稳定的互联网连接,因为“无法连接到AppStore”问题有时可归因于连接不良。尝试在Wi-Fi和移动数据之间切换或重置网络设置(“常规”>“重置”>“重置网络设置”>设置)。更新您的iOS版本:

随着互联网的发展和信息技术的进步,大数据时代已经来临,数据分析、机器学习等领域也得到了广泛的应用。在这些领域中,任务调度是一个不可避免的问题。如何实现高效的任务调度,对于提高效率至关重要。在本篇文章中,将介绍如何使用Golang的Web框架Echo框架实现分布式任务调度。一、介绍Echo框架Echo是一个高性能、可伸缩、轻量级的GoWeb框架。它基于HTT

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

Laravel是一个流行的PHP框架,具有高度可扩展性和高效性,它提供了很多强大的工具和库,让开发者可以快速构建高质量的Web应用程序。其中,LaravelEcho和Pusher是两个非常重要的工具,通过它们可以很容易地实现WebSockets通信,本文将详细介绍如何在Laravel应用程序中使用这两个工具。什么是WebSockets?WebSockets


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
