掲示板を作ろう その4

今回はデータベースクラスを使ってデータの入出力を設定したいと思います。
参照:データベースクラス : CodeIgniter ユーザガイド 日本語版

データベースの設定

参照:データベース設定 : CodeIgniter ユーザガイド 日本語版

 50 $db['default']['hostname'] = 'localhost';
 51 $db['default']['username'] = 'dbuser';
 52 $db['default']['password'] = 'password';
 53 $db['default']['database'] = 'board';

データの入出力用のユーザ名、パスワード、データベース名を入れる。

データベースに接続

参照:データベースへの接続 : CodeIgniter ユーザガイド 日本語版
データベースへの接続は二通りあるらしい。
今回は、手動接続でやることに。

$this->load->database();
データベースから切断

接続したら、切断もあるよねってことで切断

$this->db->close();
クエリ

参照:クエリ : CodeIgniter ユーザガイド 日本語版
クエリの実行

$query = $this->db->query('ここにクエリを記述');

CodeIgniter にはエスケープ処理をしてくれるものがあるらしい。
今回は、PHP入門(応用編)その4 でやったのと似た
クエリのバインディング!君に決めた!
...と思いきや、もっと単純化されたクエリヘルパメソッドなるものが
参照:クエリヘルパーメソッド : CodeIgniter ユーザガイド 日本語版

クエリヘルパメソッド
$data = array('name' => $name, 'email' => $email, 'comment' => $comment);
$this->db->insert_string('board', $data)

データを連想配列で $data に格納して、それをテーブルに挿入と。
便利すぎますやん。

Note: 値は自動的にエスケープされ、安全なクエリが生成されます。

しかも自動的にエスケープ処理まで。至れり尽くせり。

※3/27 19:00追記:
ActiveRecordクラスを使ったもので似たようなものも発見

$data = array('name' => $name, 'email' => $email, 'comment' => $comment);
$this->db->insert('board', $data);

うーん、違いがわからん。~追記ここまで~


これを踏まえて、次からコードをがしがし書いていくぜよ