勉強したことのメモ

webプログラマが勉強したことのメモ。

Codeigniterで異なるデータベースを使用する

   

Codeigniterで2つのコンテンツがあって、それぞれ別のデータベースを使用したかった。調べてみると以下方法で対応できた。

 

■事前設定

「codeigniter/config/database.php」に新たにデータベース情報を追記する。

$db['default'] = array(
	'dsn'	=> '',
	'hostname' => 'localhost',
	'username' => 'MySQLのユーザー名',
	'password' => 'MySQLのパスワード',
	'database' => '使用するデータベース名',
	'dbdriver' => 'mysqli',
	'dbprefix' => '',
	'pconnect' => FALSE,
	'db_debug' => (ENVIRONMENT !== 'production'),
	'cache_on' => FALSE,
	'cachedir' => '',
	'char_set' => 'utf8',
	'dbcollat' => 'utf8_general_ci',
	'swap_pre' => '',
	'encrypt' => FALSE,
	'compress' => FALSE,
	'stricton' => FALSE,
	'failover' => array(),
	'save_queries' => TRUE
);

//↓↓を追記する
$db['db2'] = array( //キーをdefaultとは違うものにする
	'dsn'	=> '',
	'hostname' => 'localhost',
	'username' => 'MySQLのユーザー名',
	'password' => 'MySQLのパスワード',
	'database' => '使用するデータベース名',
	'dbdriver' => 'mysqli',
	'dbprefix' => '',
	'pconnect' => FALSE,
	'db_debug' => (ENVIRONMENT !== 'production'),
	'cache_on' => FALSE,
	'cachedir' => '',
	'char_set' => 'utf8',
	'dbcollat' => 'utf8_general_ci',
	'swap_pre' => '',
	'encrypt' => FALSE,
	'compress' => FALSE,
	'stricton' => FALSE,
	'failover' => array(),
	'save_queries' => TRUE
);

 

■使用方法

モデル側でデータベースを読み込む際に、引数を入れる。

function __construct()
{
	parent::__construct();
	$this->load->database('db2');
}

引数は先ほど設定した配列のキーを入れる。

 

■その他

特に問題なくいけたけど、1つのコンテンツで複数のデータベースを使う時とかはもしかすると面倒なのかも。

 - PHP

  関連記事

CRUDのfunction化(処理ページ)

<?php //エスケープ用htmlspecialchars functi ...

PHPで数字のプラスとマイナスを反転させる

gmp_neg http://php.net/manual/ja/functio ...

PHPでディレクトリの作成と削除

PHPでユーザID毎にディレクトリを作成しその中にキャッシュファイルを格納したか ...

登録画像orノーイメージ画像の振り分け表示

<? /* 画像が登録されていれば当該画像を読み出し、 登録されていない場 ...

composerでライブラリのインストールとインストール時のエラー

composerでライブラリをインストールする際に「The following ...

PHPでソーシャル(SNS)ログインする方法

「facebook / twitter / Googleアカウントでログインする ...

PHPの条件式でまとめて評価

PHPのソースで、 if( !($hoge || $fuga || $foo) ...

file_get_contentsを使用する際にタイムアウト設定

20秒に1回自動でリロードするページにて file_get_contentsを使 ...

PHPでサイトマップを動的に生成する

WordPress等のCMSは使っておらず、自動更新するサイトがあり、そのサイト ...

PHPで文字列の操作(検索、置換、切り出し)

しばしば行う文字列の操作をまとめておく。 ----- ■文字列の長さを調べる e ...