ホームページ バックエンド開発 PHPチュートリアル ThinkPHP Oracle データベースへの接続に関する詳細なチュートリアル [完全]_PHP チュートリアル

ThinkPHP Oracle データベースへの接続に関する詳細なチュートリアル [完全]_PHP チュートリアル

Jul 21, 2016 pm 03:17 PM
oracle thinkphp windows7 1つ 建てる 操作する チュートリアル データベース 旗艦 環境 システム 詳しい 接続する

1.動作環境構築

システム:Windows7 Ultimate 64ビット
PHP環境:wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24 32ビット版
ダウンロードアドレス:http://www.ワンプサーバー.com/ja/


ThinkPHP: 3.0 正式版
ダウンロードアドレス: http://thinkphp.cn/down.html


Oracle: Orcale_11gR2 32ビット版
ダウンロードアドレス: http://www.oracle.com/technetwork/cn/indexes/downloads/index.html


データベース操作ツール:PLSQL Developer 32-bit
ダウンロードアドレス:http://www.allroundautomations.com/plsqldev.html


開発ツール: NetBeans IDE 7.1.2
ダウンロードアドレス: http://netbeans.org/downloads/index.html 単一の PHP バージョンをダウンロードするだけです

注: ソフトウェアの「ビット」は非常に重要なので、通常の状況では、システムは 64 ビットであるため、64 ビットのソフトウェアを使用するのが最善ですが、ここではシステムを除いて、すべてに 32 を選択 このビットには理由があって、PLSQL Developer および WAMP の PHP 拡張機能を操作することが目的です。 PLSQL Developerには64ビット版がないためです。 64 ビットの Oracle データベースを使用して 32 ビットのクライアントをインストールできると言う友人もいますが、私の操作方法が気に入らない場合は、それを避けてください。もちろん、PLSQL Developer を使用せずに Oracle 独自の SQL Developer を使用する場合は、64 ビットまたは 32 ビットのどちらをインストールするかはあなた次第です。 PHP は、Oracle データベースに接続するために対応する拡張機能を開く必要があります。PHP 拡張機能もデータベース クライアントのビット数に対応する必要があるため、この拡張機能にはデータベース クライアントのサポートも必要です。冗長の終わり。

2. 環境構成

1. Oracle のインストールは自分で解決できますが、NetBeans IDE 7.1.2 も自分で解決できます。

2. Wamp のインストールについては説明しません。方法がわからない場合は、DOS から学び直してください。

3. WAMP は、Wamp がインストールされているフォルダーの下の www に PHP Web ページのフォルダーを定義します。つまり、D:WAMPwww です。当面はその他のカスタム変更は行いません。 wamp を起動します。システム トレイ アイコンが緑色の場合は、起動が正常であることを意味します。

4. localhost を開くと、次のインターフェイスが表示されます。これは、環境設定が基本的に OK であることを意味します。なぜ基本的なのかというと、Oracle の構成がまだ設定されていないからです。

5. 図に示すように、PHP 拡張機能メニューを開き、緑色のアイコンを左クリックし、php-oci8 の拡張機能をクリックします。再起動後は緑色になるまで待ちます。

6. 先ほどの localhost ページを再度開きます。図 4 に示す表示が見つかった場合は、PHP が現在 Oracle をサポートしていることを意味します。

私が使用している wamp クライアントと oracle クライアントは両方とも 32 ビットであることに注意してください。一方が 64 ビットである場合、oci 拡張子を開くことができず、自動環境監視ページに oci8 が表示されません。 PL/SQLを使用しない前提で、32ビットOracleと32ビットWAMPの組み合わせ、または64ビットOracleと64ビットWAMPの組み合わせでなければなりません。それ以外の場合は避けてください。

3. ThinkPHP の構成

1. ダウンロードした 3.0 正式バージョンを解凍します。これは、コアである ThinkPHP フォルダーのみです。
2. IDE を使用して新しいプロジェクトを作成します。他のフォルダーをカスタマイズする必要がある場合は、ここでは変更しません。
3. Thinkphp フォルダーをプロジェクト フォルダーにコピーし、新しい php ファイルを作成し、index.php という名前を付けます。
4. これらのファイルは既に IDE に表示されています。index.php を開き、次の内容を記述します。

コードをコピーします。 コードは次のとおりです。
define('APP_DEBUG' , true);
require './ThinkPHP/ThinkPHP.php';


5. ブラウザーで localhost/プロジェクト名/index.php を開くと、Thinkphp が関連するファイルとフォルダーを生成します。
6. 設定ファイルを操作して、Conf フォルダーの下にある config.php ファイルを次のように変更します。


コードをコピーします。 コードは次のとおりです: return array(
'DB_TYPE' = > 'Oracle', // データベースの種類
'DB_HOST' => '192.168.0.8', // サーバーアドレス
'DB_NAME' => 'DB_USER' => ' test', // ユーザー名
'DB_PWD' => 'test', // パスワード
'DB_PORT' => '1521', // ポート
);
Oracle データベースと mysql は構造が異なります。通常、デフォルトでインストールされるデータベース名は orcl です。複数のデータベース モニターを使用する場合は、特定のモニター フィールドに従って設定する必要があります。例: 私のローカル データベースは Orcl で、外部ネットワーク上の別のデータベースを監視しています。この外部ネットワーク データベースに接続する必要がある場合、記述する必要があるデータベース名は orcl2 です。

7. 上記の設定が完了すると、Oracle データベースに接続できるようになりますが、実際の thinkphp の操作ではどのような点に注意する必要がありますか?

最近、多くの友人が mysql に接続する方法に従っているため、Oreale では通常使用できない方法がいくつか発生しています。例:findAll、Selectメソッドが使用できず、必要なデータが取得できません。 Create メソッドと add メソッドでは、データを作成してデータベースに書き込むことはできません。

実際、私は以前の問題に基づいて数日間デバッグし、問題を見つけ、私自身の小さなプロジェクトの実践でそれを正常に使用できたので、今から私の経験を皆さんと共有します。

1. データベース接続と設定ファイルの詳細については説明しません。データテーブルの例に基づいて操作のみを説明します。

2、テーブル構造は次のとおりです:



3. このテーブルには ID 主キー、ユーザー名、パスワードの 3 つのフィールドがあります。Oracle データベースはテーブル名とフィールドを大文字に変換し、ID 主キーの自動インクリメントをサポートしていないため、別の方法を使用するしかありません。この機能を実現するには、例えばID自動シーケンス+ID自己インクリメントを実現するトリガーを使用します。

4. ThinkPHP では、Action はコントローラー、Model はモデル、ビューはテンプレートによって表されます。

まずコントローラーについてですが、リストの追加と取得の方法のみ紹介します。

次に、モデルについて話しますが、これが成功の主な理由です。なぜ? ThinkPHP にはフィールド マッピングがあり、MYSQL のサポートに最適です。基本的に MODEL を記述する必要はありませんが、M->add() を使用してデータを追加する場合、フィールドは $this になります。 -> _facade() メソッドは除外します。この方法で生成された SQL ステートメントは実行できないため、間違っているはずです。その結果、データをデータベースに追加できず、select() メソッドもフィルターされます。

繰り返しになりますが、ブレークポイントがフィルタリングされるとき、このフィルタリング メソッドはフィールド マッピングの配列を持ちます。このフィルタリング メソッドは、このフィールド配列と比較します。その結果、デバッグしたところ、新しい MODEL はフィールド マッピングをまったく追加しておらず、追加されたデータ フィールドに 1 つずつ対応することはできませんでした。これが間違いの核心です。

以下で解決策について話しましょう。基本的な MVC 構造によれば、PHP、JAVA、.NET はすべてそのような構造になっており、厳密な基準に従って MODEL 層のコードを記述する必要があります。つまり、データベースフィールドがマップされていると一致している必要があります。しかし、mysql を使用する多くの人は、単に MODEL でコードを記述しません。この習慣を Oracle で使用すると問題が発生します。

5. 次に、上記のデータ テーブルのコードを作成します。

私のアクションは次のようになります: UserAction.class.php。コントローラーについては、追加と検索の例のみを示しているので、コードは次のとおりです:

コードをコピー コードは次のとおりです:

public functionindex() {
header("Content-Type : text/html; charset=utf -8");
$M_User = new UserModel();
$User_List = $M_User->select();
$this->assign('タイトル', 'ユーザー管理');
$this->assign('UserList', $User_List);
$this->display();
//ユーザー送信処理を追加
$M_User = new UserModel();
$data[ 'ユーザー名'] = $this->_post('ユーザー名')
$data['パスワード'] = md5($this->_post('pwd'); if ($M_User->create ()) {
$Query_Result = $M_User->add($data);
if (false !== $Query_Result) {
$this->success('ユーザーは正常に追加されました');
} else {
$this->error('ユーザーが追加したエラー');
}
} else {
header("Content-Type:text/html; charset=utf-8"); ($M_User->getError( ) . ' [ return ]');
アクションの説明:

$M_User=新しいユーザーモデル();

このメソッドは、.NET のせいで常にこのように書かれているため、このように書くのが最適です。特定のモデルをインスタンス化するには、User テーブルを操作することが厳密に必要です。

POSTデータを取得するコードについてはあまり説明しません。

$M_User->create();

これは ThinkPHP のメソッドであり、違法なものを除外するのに役立ちます。

$Query_Result = $M_User->add($data);

このセクションはデータの追加に関するもので、このセクションは $M_User フィールドとフィルター フィールドに従ってインスタンス化する必要があるため、追加するデータを指定することに慣れています。もちろん、MODEL を適切にコーディングすれば問題ありません。以下のコードについては説明を省略します。公式文書はあります。

私のモデルは次のようなものです: UserModel.class.php

りー

モデルの説明: これが重要なポイントです。これにより、新しい $M_User のマッピング フィールド配列が空にならず、フィルタリング メソッドが正常に認識してフィルタリングされないようにすることができます。

6. 上記の操作の後、Oracle のデータベース操作が完了しました。これで、ThinkPHP が提供するページング (limit)、find()、findAll などのメソッドを使用できるようになります。

出典 http://www.cnblogs.com/aceliu/

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/325643.html技術記事 1. 動作環境設定システム:Windows7 Ultimate 64ビット PHP環境:wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24 32ビット版ダウンロードアドレス:http://www.wampserver.com/en/ThinkPH ..
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

ファーウェイのQiankun ADS3.0インテリジェント運転システムは8月に発売され、初めてXiangjie S9に搭載される ファーウェイのQiankun ADS3.0インテリジェント運転システムは8月に発売され、初めてXiangjie S9に搭載される Jul 30, 2024 pm 02:17 PM

7月29日、AITO Wenjieの40万台目の新車のロールオフ式典に、ファーウェイの常務取締役、ターミナルBG会長、スマートカーソリューションBU会長のYu Chengdong氏が出席し、スピーチを行い、Wenjieシリーズモデルの発売を発表した。 8月にHuawei Qiankun ADS 3.0バージョンが発売され、8月から9月にかけて順次アップグレードが行われる予定です。 8月6日に発売されるXiangjie S9には、ファーウェイのADS3.0インテリジェント運転システムが初搭載される。 LiDARの支援により、Huawei Qiankun ADS3.0バージョンはインテリジェント運転機能を大幅に向上させ、エンドツーエンドの統合機能を備え、GOD(一般障害物識別)/PDP(予測)の新しいエンドツーエンドアーキテクチャを採用します。意思決定と制御)、駐車スペースから駐車スペースまでのスマート運転のNCA機能の提供、CAS3.0のアップグレード

夏はぜひ虹を撮ってみてください 夏はぜひ虹を撮ってみてください Jul 21, 2024 pm 05:16 PM

夏の雨の後には、美しく魔法のような特別な天気の風景、虹がよく見られます。これも写真撮影ではなかなか出会えない光景で、とてもフォトジェニックです。虹が現れるにはいくつかの条件があります。まず、空気中に十分な水滴があること、そして、低い角度から太陽が当たることです。そのため、雨が上がった午後が最も虹が見えやすいのです。ただし、虹の発生は天候や光などの条件に大きく左右されるため、一般に虹の持続時間は短く、見頃や撮影に最適な時間はさらに短くなります。では、虹に遭遇したとき、どうすれば虹を適切に記録し、高品質の写真を撮ることができるでしょうか? 1. 虹を探す 上記の条件に加えて、虹は通常、太陽光の方向に現れます。つまり、太陽が西から東に輝いている場合、虹は東に現れやすくなります。

2024 年の主力携帯電話トップ 10 の画面輝度の評価 2024 年の主力携帯電話トップ 10 の画面輝度の評価 Jul 29, 2024 pm 04:02 PM

2024 トップ 10 の主力携帯電話の画面の明るさのレビュー オリジナルの Xiaobai 評価 タップしてオリジナルの Xiaobai 評価を表示します。 上にスワイプして次の GotItScanwithWeixintousethisMiniProgramCancelAllowCancelAllow: を表示します。 .VideoMiniProgramLike、ダブルタップしてキャンセルします すごい、ダブルタップして視聴をキャンセルします ShareCommentFavorite

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

ファーウェイは、心拍数に基づいてユーザーの感情状態を評価できるスマートウェアラブル分野でXuanjiセンシングシステムを発売する ファーウェイは、心拍数に基づいてユーザーの感情状態を評価できるスマートウェアラブル分野でXuanjiセンシングシステムを発売する Aug 29, 2024 pm 03:30 PM

最近、ファーウェイは、Xuanjiセンシングシステムを搭載した新しいスマートウェアラブル製品を9月に発売すると発表しました。これはファーウェイの最新スマートウォッチとなる予定です。この新製品は、高度な感情的健康モニタリング機能を統合し、正確性、包括性、スピード、柔軟性、オープン性、拡張性という 6 つの特徴を備えた包括的な健康評価をユーザーに提供します。このシステムはスーパーセンシングモジュールを使用し、マルチチャンネル光路アーキテクチャ技術を最適化することで、心拍数、血中酸素、呼吸数などの基本的な指標の監視精度を大幅に向上させます。さらに、Xuanji センシング システムは、心拍数データに基づく感情状態の研究も拡張しており、生理学的指標に限定されず、ユーザーの感情状態やストレス レベルを評価することもでき、60 以上のスポーツのモニタリングをサポートしています。健康指標、心臓血管、呼吸器、神経、内分泌、

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

間違った仮想通貨チェーンを取り戻すには?間違った仮想通貨送金チェーンを取得するためのチュートリアル 間違った仮想通貨チェーンを取り戻すには?間違った仮想通貨送金チェーンを取得するためのチュートリアル Jul 16, 2024 pm 09:02 PM

仮想市場の拡大は仮想通貨の流通と不可分であり、当然仮想通貨の送金問題とも不可分である。一般的な転送エラーはアドレス コピー エラーで、もう 1 つのエラーはチェーン選択エラーです。仮想通貨を間違ったチェーンに転送することは依然として厄介な問題ですが、初心者は転送操作の経験が浅いため、間違ったチェーンを転送してしまうことがよくあります。間違ったリンクはサードパーティのプラットフォームを通じて取得できますが、成功しない可能性があります。次に、編集者が仮想資産をより適切に管理するために役立つ詳細を説明します。間違った仮想通貨チェーンを取り戻すには?間違ったチェーンに転送された仮想通貨を取得するプロセスは複雑で困難な場合がありますが、転送詳細を確認し、取引所またはウォレットプロバイダーに連絡し、互換性のあるウォレットに秘密キーをインポートし、クロスチェーンブリッジツールを使用することで、

Astar ステーキングの原則、収入の解体、エアドロップ プロジェクトと戦略、および運営のナニー レベルの戦略 Astar ステーキングの原則、収入の解体、エアドロップ プロジェクトと戦略、および運営のナニー レベルの戦略 Jun 25, 2024 pm 07:09 PM

目次 Astar Dapp ステーキングの原則 ステーキング収益 潜在的なエアドロップ プロジェクトの解体: AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap ステーキング戦略と運用 「AstarDapp ステーキング」は今年初めに V3 バージョンにアップグレードされ、ステーキング収益に多くの調整が加えられましたルール。現在、最初のステーキング サイクルが終了し、2 番目のステーキング サイクルの「投票」サブサイクルが始まったばかりです。 「追加報酬」特典を獲得するには、この重要な段階を把握する必要があります (6 月 26 日まで続く予定で、残りは 5 日未満です)。 Astarステーキング収入を詳しく説明します。

See all articles