ホームページ php教程 php手册 Oracle の PHP クラスの操作

Oracle の PHP クラスの操作

Jun 13, 2016 pm 12:42 PM
oracle php 改訂 操作する まだ 親切 警告する

//[警告]: 許可なく改変しないでください
//-------------------------- - ------------------------------------------------- - ---------------
//---------------------------- ---------------------------------------------------- ---- ---------
//
// [ファイル名]: c_ora_db.inc
// [関数]: Oracle 公開関数クラス
// [著者]:タイプ、 'n _' = numeric Type、 'l _' = boolean type、 'a _' = array type
// ----------------------------------------------------------- -------------------------------------------------- -- ------------------
//---------------------- -------- -------------------------------------- -------- ------------
// ※db_logon() 开启数据库连接
// ※db_query() 通用select
// ※db_change () データ库改变の汎用関数( Insert, delete, update)
// ※ db_insert () 挿入、db_change () を直接呼び出します
// ※ db_delete () 削除、db_change () を直接呼び出します
/ / ※ db_update() update、直接 db_change() を呼び出すdb_ // ※db_logoff() ※ データベース接続を切断します
//----- ----- ---------------------------------- ---------------- ------------------


クラス c_ora_db
{


//------ ------------------------------------ -------------- ------------------------------------ -
// 変数定義
//- ------------------------------------ -------------- ------------------------------------ ---
var $C_user = ""; $ c_dbパスワード
//ユーザー名
= "";//------------------------------------------------ ----------------------------------------



//------------------------------------------ --- ---------------------------------------------------
/ / 関数名: db_logon()
// 関数: データベース接続を開く
// パラメーター: なし
// 戻り値: 接続ハンドル (整数)
// 注: なし
//------------------------------------------ -----------------------------------------------
function db_logon() & gt; i_linkid == 0) {alertexit ('データベースリンクに失敗しました。DBA に連絡してください!');}
Return $ this- & gt;リンクID;
}
// -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------- ---------------------------- --------------------- ---------------------------- -----

------------------------------------------ ----------- ----------------------------------
//関数名: db_query($C_sql,$A_define ="",$I_start=-1,$I_end=-1)
// 関数: select
// パラメータ: $C_sql ステートメント
// $ A_define バインドされるフィールド。配列型 “ >// 戻り値: 2 次元配列 ($A_rs)
// 備考: 対応するフィールドの値は、数値 0,1,2.... または の値を通じてアクセスできます。対応するフィールドは、フィールド名
// をクエリすることによってもアクセスできます。たとえば、$A_rs[0][0] または $ A_RS [0] ['name'] または $ A_RS [0] ['name' ] はすべて最初のレコード名フィールドにアクセスできます
// $ i_start、$ i_end はページと組み合わせて使用​​されるパラメーターです。
//------------------------------------------ --------------------------------------
関数 db_​​query ($C_sql,$A_define="",$I_start=-1,$I_end=-1)
{
if (!$C_sql){AlertExit("パラメータが不完全です!");}//パラメータを確認します

//接続検出
if ($this->I_linkID == 0){AlertExit('データベース リンクに失敗しました。DBA に連絡してください!');}

// 形式検出
$this -> I_stmtID = OCIParse($this -> I_linkID,$C_sql);
if (!$this -> I_stmtID){AlertExit(' SQL 形式エラー!プログラマに連絡してください');}

//バインドされたフィールドが指定されていない場合は、SQL ステートメントから取得します
if($A_define=="")
{
$ A_Cur =explode("select",$C_sql);
$A_Cur = ("from",$A_Cur[1]) ); )

id、 "$ a_define_up [$ i]"、&$$ a_define [$ i]); 🎜> // バインドされた SQL ステートメントを実行します
if(!OCIExecute($this -> I_stmtID))
{
echo "実行エラー:< /b> ;SQL エラー:$C_sql
";

$ lower = 0; //レコードを取得 WHILE (OCIFETCHINTO ($ this -& gt; I_Stmtid, & $ cur, OCI_ASSOC))
{
// すべてのレコード
if ($ i_start == -1)
{
if (gettype($A_define) == "array") //クエリ列は配列 ine);$i ) [$ i]; $ a_rs [$ a_define [$ i] = $ a_define [$ i]; $A_define)

$ a_rs [$ lower] [0] = $ a_define] [$ a_define_up] = $$ a_define; 🎜> //指定されたレコードを取得します (ページネーションで使用されます) if ($ i_start & lt; & gt; -1)
{
if ($ cNT & GT; = $ i_start)
{
$ cNT;
if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if> if>
if> if ($I_end - $I_start <> 0)
> i=0;$i > $$A_define[$i])
{

$ a_rs [$ lower] [$ a_define [$ a_define]&lt;&gt; Break; // $I_end-$I_start=0 の場合、レコードがフェッチされ、while ループから抜け出すことを意味します。else
🎜>ハンドルを解放し、クエリ データ (2 次元配列) を返します。
OCIFreestatement($this -> I_stmtID);
return $A_rs; /機能終了
//- -------------------------------------- ---------- --------------------------------------


// -------------------------------------- ---------- --------------------------------------------
// 関数名: db_change( $C_sql,$A_bind)
// 関数: db change
// パラメーター: $C_sql SQL ステートメント
// $A_bind バインドされるフィールド。配列型
// 戻り値: ブール値
// 注: 挿入、削除、更新は共通です
//------ - ------------------------------------------------- - --------------------
function db_change($C_sql,$A_bind="")
{
if (!$C_sql){ AlertExit (「不完全なパラメーター!」);}プログラマー ');}

i&lt; count($ a_bind); $ i)
/ / backslash文字を削除してください
$$ a_bind [$ i] = str_replace( "&lt;? ","< ?",$$A_bind[$i]); //PHP タグを除外します
}
for ($i=0 ; [$i], -1); 🎜> 文字
{ < > グローバル $$A_bind;
$$A_bind = StripSlashes($$A_bind);
$$A_bind = str_replace(" OCIBindByName($this -> I_stmtID, ":$arrBind", &$$A_bind, -1); Success
if(!OCIExecute( $this -> I_stmtID,OCI_DEFAULT))
{
echo "実行エラー:SQL エラー:$C_sql
"; ; global $I_changenum; $I_changenum = OCINumrows($this -> I_stmtID);*/

//リリースハンドルを取得し、値を返します。
OCIFreeStatement($this -> I_stmtID);
return true;
//------------------------------------------ ---------------------------------------


//------------------------------------------ --- ---------------------------------------------------
/ /関数名: DB_DELETE ($ C_SQL)
// ファクトリ: delete
// パラセプション: C_SQL SQL ステートメント
// 戻り値: ブール値
// 注: この関数直感的に使用できるようにするには、基本的に db_change()
//-------------------------- を呼び出します。 ------------------------ ---------------------------- ---------------------- ----
関数 db_​​delete($C_sql)
{
return $this -> $C_sql);
}
//--------------------- ---------------------------- ------------------------ ---------------------------- ---


//-------- ---------------------------- ------------------------ ---------------------------- ----
// 関数名:db_insert($C_sql,A_bind)
// 関数:insert
// パラメータ:C_sql 文
// A_bind Bind
// 戻り値: ブール値
// 備考: この関数は基本的に db_change()
//---------------------- を呼び出して直感的に使用します。 ------------------ -------------------------------- ------------------
関数 db_​​insert($C_sql,$A_bind="")
{
return $this -> db_change($C_sql; ,$A_bind);
}
//---- -------------------------------- ------------------ -------------------------------- ----


//--- -------------------------------- ------------------ -------------------------------- -----
// 関数名: db_update($C_sql, A_bind)
// 関数: update
// パラメータ: C_sql ステートメント
// A_bind Binding
// Return value: ブール値
// 備考: この関数は直感的に使用するためだけに、基本的に db_change()
//---------------------- を呼び出します。 ------------ -------------------------------------- ------------ -----
function db_update($C_sql,$A_bind="")
{
return $this -> $A_bind);
}
/ /------------------------------------- ------------ -------------------------------------- ----



//-------------------------------- ------------------------ -------------------------------------------- --------
// 関数名: db_commit()
// 関数: トランザクション送信
// パラメータ: なし
// 戻り値: ブール値
/ / 備考: なし
//- -------------------------------------- ---------- -------------------------------------- -----
関数 db_​​commit()
{
return (OCICommit($this->I_linkID));
//------------------------------------------ ---------------------------------------


//------------------------------------------ --- ---------------------------------------------------
/ / 関数名: db_rollback()
// /--------------------------------- ---------------- ---------------------------------- -------------
function db_rollback()
{
return (OCIRollback($this->I_linkID));
}
//- ------------------------ ------------------------ ----------------------- ------------------


//-------------------------- ------------------------ -------------------------- ------------------
// 関数名前: db_logoff()
// 機能: データベース接続の切断
// パラメータ: なし
// 戻り値: ブール値
// 備考: なし
//---- ------------------------ ---------------------------- ---------------------- -------------- -------------- ------------------------------------ -------------- ------------------------

/----------------- -------------------------------- ------------------ ------------------------
}
?> ;

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPの現在のステータス:Web開発動向を見てください PHPの現在のステータス:Web開発動向を見てください Apr 13, 2025 am 12:20 AM

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHP:多くのウェブサイトの基礎 PHP:多くのウェブサイトの基礎 Apr 13, 2025 am 12:07 AM

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

Oracle Cursorを閉じる問題を解決する方法 Oracle Cursorを閉じる問題を解決する方法 Apr 11, 2025 pm 10:18 PM

Oracle Cursorの閉鎖問題を解決する方法には、次のものが含まれます。 Scopeが終了した後に自動的に閉じるように、for update句のカーソルを宣言します。使用句のカーソルを宣言して、関連するPL/SQL変数が閉じられたときに自動的に閉じるようにします。例外処理を使用して、例外の状況でカーソルが閉じていることを確認します。接続プールを使用して、カーソルを自動的に閉じます。自動送信を無効にし、カーソルの閉鎖を遅延させます。

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

Oracle Loopでカーソルを作成する方法 Oracle Loopでカーソルを作成する方法 Apr 12, 2025 am 06:18 AM

Oracleでは、forループループは動的にカーソルを作成できます。手順は次のとおりです。1。カーソルタイプを定義します。 2。ループを作成します。 3.カーソルを動的に作成します。 4。カーソルを実行します。 5。カーソルを閉じます。例:カーソルをサイクルごとに作成して、上位10人の従業員の名前と給与を表示できます。

Oracle Dynamic SQLを作成する方法 Oracle Dynamic SQLを作成する方法 Apr 12, 2025 am 06:06 AM

SQLステートメントは、Oracleの動的SQLを使用して、ランタイム入力に基づいて作成および実行できます。手順には、次のものが含まれます。動的に生成されたSQLステートメントを保存するための空の文字列変数を準備します。 executeを即座に使用するか、ステートメントを準備して、動的なSQLステートメントをコンパイルおよび実行します。バインド変数を使用して、ユーザー入力またはその他の動的値を動的SQLに渡します。実行するか、実行するか、動的SQLステートメントを実行します。

See all articles