次のチュートリアル コラムでは、ThinkPHP データベースの操作とデータベースへの接続について紹介します。困っている友人の役に立てば幸いです。 ThinkPHP には、さまざまなデータベース操作をカプセル化する抽象データベース アクセス層が組み込まれています。データベースごとに異なるコードや基礎となる実装を記述することなく、パブリック Db クラスを使用するだけで操作できます。クラスは、処理のために対応するデータベースドライバーを自動的に呼び出します。 PDO メソッドを使用することで、現在、Mysql、SqlServer、PgSQL、Sqlite およびその他のデータベースのサポートが含まれています。
アプリケーションでデータベースを使用する必要がある場合は、データベース接続情報を構成する必要があります。データベース構成ファイルを定義するには、さまざまな方法があります。
1. 設定ファイルの定義2. メソッドの設定一般的な設定方法は、アプリケーション ディレクトリまたはモジュール ディレクトリの database.php に次の設定パラメータを追加することです:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
1 2 |
|
データベース コネクタが、デフォルトの \think\db\connector\Mysql の代わりに \org\db\Mysql クラスをデータベース接続ドライバーとして使用することを示します。
各モジュールは独立したデータベース接続パラメータを設定でき、同じ設定パラメータを繰り返し設定する必要はありません。たとえば、管理モジュールの database.php 設定ファイルで定義できます。1 2 3 4 5 |
|
1 2 |
|
をデータベース設定ファイル 接続パラメータ
さまざまな接続ニーズに合わせてデータベース接続パラメータを追加できます (特定の接続パラメータについては、PHP マニュアルを参照してください)。組み込みパラメータには次のものが含まれます。 :
1 |
|
1 2 |
|
2. メソッドの構成
Db クラスを呼び出すときに、接続情報を動的に定義できます。例:
1 2 3 4 5 6 7 8 9 10 11 |
|
1 |
|
文字列接続の定義形式は次のとおりです:
データベース タイプ://ユーザー名:パスワード@データベース アドレス: データベース ポート/データベース名#文字セット
注: 文字列モードでは、プレフィックスや接続パラメータなどの一部のパラメータを定義できない場合があります。
アプリケーション構成ファイル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
1 2 |
|
3 に変更できます。モデル クラス定義
If in a特定のモデル クラスに接続属性が定義されている場合、モデルは動作時に、構成ファイルに設定されているデフォルトの接続情報ではなく、指定されたデータベース接続に自動的に接続します。通常、外部の他のデータベースにある一部のデータ テーブルに使用されます。現在のデータベース接続。例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
1 2 3 4 5 6 7 |
|
#構成パラメータのリファレンス
サポートされているデフォルトのデータベース接続情報は次のとおりです:
#type##ホスト名データベース アドレス127.0.0.1databaseデータベース名なしデータベース ユーザー名データベース パスワード#ホストポートデータベース ポート番号なしなしemptyutf8なしfalse0false##master_num読み取りと書き込みを分離した後のマスター サーバーの数1slave_noスレーブサーバーのシリアル番号を指定しますNone##auto_timestampタイムスタンプ フィールドを自動的に書き込むfalsesql_explainSQL パフォーマンス分析を実行し、デバッグを有効にする必要があるかどうかfalse queryクエリ オブジェクトを指定しますthink\db\Querybuilderデータベース ビルダー オブジェクトを指定します なし#パラメータ名 | 説明 | デフォルト値 |
データベース タイプ | なし | |
##ユーザー名 | ||
なし | パスワード | |
なし | ||
##dsn | データベース接続 DSN 情報 | |
params | データベース接続パラメータ | |
charset | データベース エンコーディング | |
prefix | データベースのテーブルプレフィックス | |
debug | デバッグ モードかどうか | |
デプロイ | データベース デプロイメント モード: 0 集中型 (単一サーバー)、1 個の分散型 (マスター/スレーブ サーバー) | |
rw_ Separate | マスタースレーブモードでデータベースの読み書きを分離するかどうか有効です | |
##fields_strict | フィールドの存在を厳密にチェックするかどうか | true |
resultset_type | データセットの戻り値の型 | array |
注: |
##pgsql データベース ドライバーを使用している場合は、まず thinkphp/library/think/db/connector/pgsql.sql ファイルを実行用のデータベース。
以上がデータベースに接続するための ThinkPHP データベース操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。