この記事では、CodeIgniter構成database.phpの使用例を分析します。参考のために皆さんと共有してください。詳細は次のとおりです:
CodeIgniter のデータベース設定ファイルは application/config/database.php にあります。このファイルは $db の 2 次元配列を定義します。参照ファイルは次のとおりです。 リーリー
設定手順
$active_group は、$db 内の 1 次元のキー名で、デフォルトのデータベース構成を示します。つまり、$this->load->database() がパラメーターを渡さない場合、$db[$active_group]データベースへの接続にデフォルトで使用されます。
$active_record AR モードをオンにするかどうか。オンにした後、この値は $this->load->database() の 3 番目のパラメーターを通じて渡すことができます。 。
$db 配列に関する注意事項
1. デフォルトでは、ポートにはホスト、アカウント、パスワードなどがリストされるだけであり、ポート番号を指定する必要がある場合は、この値を設定する必要があります。2. pconnect の長い接続の問題。デフォルト値は TRUE です。これは、デフォルトで長い接続が使用されることを意味します。長い接続を使用する場合は特に注意が必要です。データベース内で多数のスリープ プロセスが発生する可能性があるため、ここで長い接続を有効にすることはお勧めできません。
3. db_debug が TRUE の場合、SQL 実行エラーはエラー ページに直接出力されます。開発環境を開くことはできますが、実稼働環境を閉じる必要があります。
4. autoinit がデータベースを自動的に初期化するかどうか。true の場合、$this->load->database() はデータベースに接続します。それ以外の場合は、クエリ中にデータベースに接続します。すべての CI クラスはシングルトンであるため、複数のリンクについて心配する必要はありません。
5. stricton 値が TRUE の場合、長さを超える文字や '' で渡された自動インクリメントされた主キーなどの非標準データの場合、このようなステートメントが実行されます。直接。
コードをコピーします コードは次のとおりです: SET SESSION sql_mode="STRICT_ALL_TABLES"
データベースに接続するには?
1. 文字列、デフォルトテストなどの $db 配列の一次元キー名を渡します。空の場合、$active_group で定義された値がデフォルトになります
2. 配列。次のような $db と同様の 1 次元配列を直接渡すことができます。 リーリー
3. 次のような DSN 文字列:リーリー
PDO の初期化には DSN 文字列を使用する必要があるため、CI での設定方法については、次の設定を参照してください:リーリー
複数のデータベースを接続するには?
$this->load->database() は、データベース オブジェクトを CI_Controller の db 属性に割り当てます。db が既に存在する場合、再接続されません。つまり、$this->load->database() が実行され、再度 $this->load->database('test') が実行されると、2 回目のロードは実行されません。
ただし、load の 2 番目のパラメーターでは return が許可されているため、異なるライブラリを接続するという目的を達成するために、これを返して変数に割り当てることができます。リーリー
しかし、このメソッドは使用時にアクティブにロードする必要があります。これを MY_Model のコンストラクターに実装し、返された $DB1 を CI_Controller の属性に再割り当てし、その属性を $this- に割り当てるかクローンすることができます。 >db、例:リーリー
CodeIgniter 関連のコンテンツに興味のある読者は、このサイトの特別トピック「codeigniter 入門チュートリアル」と「CI (CodeIgniter) フレームワーク上級チュートリアル」をチェックしてくださいこの記事が、CodeIgniter フレームワークに基づく皆様の PHP プログラム設計に役立つことを願っています。
興味がありそうな記事: