笔丑辫で惭y厂辩濒を使う
- 1. PHP で M y SQL を使う ウェブアプリケーション勉強会 担当:兼山
- 13. SQL例 CREATE TABLE `thread` ( `id` int(10) unsigned NOT NULL auto_increment, `title` varchar(100) NOT NULL, `author` varchar(100) NOT NULL, `description` text, `date` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 CREATE TABLE `comment` ( `id` int(10) unsigned NOT NULL auto_increment, `thread_id` int(10) unsigned NOT NULL, `author` varchar(100) NOT NULL, `content` text NOT NULL, `date` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`id`), FOREIGN KEY (thread_id) REFERENCES thread(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8
- 14. SQLの説明 `id` int(10) unsigned NOT NULL “ ユニークであること”を実現する手っ取り早い方法 auto_increment : ID に自動で番号を当ててくれる `date` timestamp NOT NULL default CURRENT_TIMESTAMP, DB に書き込んだ時間を教えてくれる PRIMARY KEY (`id`) Id のユニークさを保障してくれる
- 15. SQLの説明 FOREIGN KEY (thread_id) REFERENCES thread(id) ON DELETE CASCADE 無いスレッドには書き込めない。(外部制約) スレッドが消えたらコメントも消してくれる
- 16. データベースができたら PHP で MySQL にデータを挿入する* PHP で MySQL からデータを取得する* ↓ mysql_connect() を使う?
- 17. MySQL/PHP // データベースとの接続を確立 $link = mysql_connect("localhost", "root", “XXXX") or die("mysql_connect failed."); mysql_query("SET CHARACTER SET utf8;"); mysql_selectdb("bbs",$link);
- 18. MySQL/PHP $result = mysql_query('SELECT id,title,description FROM thread'); if (!$result) { die(' クエリーが失敗しました。 '.mysql_error()); } // 返ってきた結果を一行ずつ $row に取り出す。 while ($row = mysql_fetch_assoc($result)) { echo $row['id']; }