libro
www.tuyano.com
初心者のためのCakePHP 1.3 プログラミング入門

モデルを使ってデータベースにアクセスする (1/7)

作成:2010-02-18 09:41
更新:2010-12-07 14:15

■SQLiteでデータベースを用意する

今回は、データベースの利用についてです。CakePHPでは、「モデル」と呼ばれるクラスを定義してデータベースを利用することができます。が、そのためには、どういうデータベースを使い、どのようにテーブルなどを設計しておくかをあらかじめ考え、きちんと決めておく必要があります。

ここでは、「SQLite」というデータベースプログラムを使うことにしましょう。これは、PHP 5に標準で内蔵されているデータベースプログラムです。世間的には、MySQLなどのほうが広く使われて入るのですが、とりあえず別にデータベースソフトをインストールしなくてもいいですし、扱いが簡単です。それに、(後で説明しますが)CakePHPでは、「データベースに何を使うか」は、実はそんなに重要じゃないのです。設定ファイルをちょっと書き換えるだけで、たいていのデータベースは使えるようになってしまいますから。

では、まずSQLiteでデータベースファイルを作成し、そこに簡単なテーブルを用意することにしましょう。SQLiteは、「sqlite.exe」というプログラムとしてPHPに用意されています。コマンドプロンプトを起動してsqlite.exeがある場所に移動し、以下のようにしてSQLiteを起動してください。
sqlite 《作成するデータベースファイルのパス》
例えば、Cドライブ直下に「sqlite_data」というフォルダを用意し、そこに「sampledata.sqlite」という名前でデータベースファイルを作るのであれば、
sqlite C:\sqlite_data\sampledata.sqlite
こんな感じになります。こうしてSQLiteを起動したら、以下に挙げたリストのように実行をして、テーブルを作成します。今回は、以下のようなテーブルを作ります。
テーブル名:mydatas

用意する項目
id――整理用の通し番号(プライマリキー)です。
name――名前です。
mail――メールアドレスです。
tel――電話番号です。
comment――簡単な覚え書きを保管します。
created――データの作成日時です。

ファイル名や保存場所などは自由ですが、後で設定ファイルで記述しますのでどこに作ったかきちんと把握しておいてください。


※MySQL利用の方へ
中には、SQLite以外のデータベースを使っている人もいることでしょう。こうしたデータベースを利用する場合には、ID(プライマリキー)の項目が、自動的に数値を入力されるように設定を行うのを忘れないでください。

例えば、MySQLの場合、プライマリキーの項目に「auto_increment」の属性を追加してください。これでレコードを作成すると自動的にIDが割りつけられるようになります。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※テーブルを作成するためのコマンド

create table mydatas (
	id integer not null primary key,
	name varchar(255) not null,
	mail varchar(255),
	tel varchar(255),
	comment text,
	created datetime);

※関連コンテンツ

「初心者のためのCakePHP 1.3 プログラミング入門」に戻る