掲示板を作ろう その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);
うーん、違いがわからん。~追記ここまで~
これを踏まえて、次からコードをがしがし書いていくぜよ