codeigniter DB接続テスト
codeigniterを使って家でも環境を作ろうと思いました。
会社でcodeigniterを使っているんだけど初期設定などは自分では行っていないのでちょうどいいかと
とりあえずDBの接続テストをしました。
まずapplication/config/database.phpを接続するDBに書き換えます。
こんな感じで
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = 'XXXX'; $db['default']['database'] = 'sample'; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE;
ちなみにテスト用にsampleというdatabaseを作っておきました
自動接続の設定を行ったので
application/config/autoload.phpを
$autoload['libraries' ] = array(’database’);
modelにファイルを追加します。
testディレクトリの下に配置しました。
application/models/test/user.php
<?php class Users extends CI_Model { public $table_name_ = 'user'; function __construct() { ※コンストラクタでは必ず親クラスを継承する parent::__construct(); // database.php で定義したDBに接続する $this->load->database(); } function getAllUsers() { $query = $this->db->get($this->table_name_); if($query->num_rows() > 0) { // 結果セットを連想配列として返す return $query->result_array(); } } ?>
初期のままいじっていないので
welcome.phpに
public function database_test() { $this->load->model('test/users'); $users = $this->users->getAllUsers(); $this->load->view('database_test'); } }
print_rしてみたところ
Array ( [0] => Array ( [id] => 1 [name] => issey ) )
はいok
すごい簡単だけど今日はこれくらいしかできなかった(>_<)