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_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("","< ? ",$$A_bind); //フィルタリング PHP フラグを削除します
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()
// 機能: データベース接続の切断
// パラメータ: なし
// 戻り値: ブール値
// 備考: なし
//---- ------------------------ ---------------------------- ---------------------- -------------- -------------- ------------------------------------ -------------- ------------------------
/----------------- -------------------------------- ------------------ ------------------------
}
?> ;

ホット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)

ホットトピック









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

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

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

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

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

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

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