pdoで予約情報をmysqlに格納する

■mysql側
まず、テーブルを作ります。
1.管理画面側で予約情報をcake.phpで閲覧できるようにしたいので、テーブル名は複数にします。
2.いたずらの予約が複数回あった場合は、そのipアドレスをhtaccessでアクセス制御できるようにしたいので、ipアドレスと、user agentのカラムを作ります。
3.予約送信時間の型は、yyyy-mm-ddではなくyyyy-mm-dd h:i:sなので、dateではなくdatetimeにします。(間違えました)
4.管理者画面で後からメモをinsert出来るようにしたいので、memoのカラムを作ります。

create table reserve.masters(
        id int unsigned auto_increment primary key,
        day varchar(255),
	time1 varchar(41),
	time2 varchar(41),
	course varchar(41),
	charge varchar(41),
	name varchar(41),
	mail varchar(41),
	ip varchar(255),
	useragent varchar(255),
	created datetime,
	memo varchar(255)
);

■php側
普通のpdoです。REMOTE_ADDRとHTTP_USER_AGENTでユーザー情報を取得しています。

$start = $_POST['stime'];
	$end = $_POST['etime'];

	$ip = $_SERVER['REMOTE_ADDR'];
	$useragent = $_SERVER['HTTP_USER_AGENT'];
	$date = date('Y-m-d H:i:s');

	$dsn = "mysql:dbname=reserve;host=localhost";
	$user = "hoge";
	$password = "hogehoge";	 
	try {
	    $dbh = new PDO($dsn, $user, $password);
	} catch (PDOException $e){
	    print('connection failed:'.$e->getMessage());
	} 

	$stmt = $dbh -> prepare("INSERT INTO masters (day, time1, time2, course, charge, name, mail, ip, useragent, created) VALUES(:day, :time1, :time2, :course, :charge, :name, :mail, :ip, :useragent, :created)");
	$stmt->bindParam(':day', $_POST['day'], PDO::PARAM_STR);
	$stmt->bindParam(':time1', $_POST['time1'], PDO::PARAM_STR);
	$stmt->bindParam(':time2', $_POST['time2'], PDO::PARAM_STR);
	$stmt->bindParam(':course', $_POST['course'], PDO::PARAM_STR);
	$stmt->bindParam(':charge', $_POST['charge'], PDO::PARAM_STR);
	$stmt->bindParam(':name', $_POST['name'], PDO::PARAM_STR);
	$stmt->bindParam(':mail', $_POST['mail'], PDO::PARAM_STR);
	$stmt->bindParam(':ip', $ip, PDO::PARAM_STR);
	$stmt->bindParam(':useragent', $useragent, PDO::PARAM_STR);
	$stmt->bindParam(':created', $date, PDO::PARAM_STR);
    $stmt->execute();

■画面遷移
1.入力フォーム

2.確認画面

3.thankyou画面

4.メール受信

5.mysql

ここまでは特に問題なさそうです。
次はvalidation周りを作っていきたいと思います。