忍者ブログ

からすまる日誌 mySQL

授業ノートのまとめ

高度(10) ハイウェイバスの予約システム(1)

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

高度(10) ハイウェイバスの予約システム(1)

ハイウェイバスの予約システム
 
ログインとかは今回なし
db名: highwaybus
table名: seats / column 3
 
一日一本しかないバスを予約するイメージ
バスを特定するには日付だけあればいい
日付と座席番号があれば特定できるイメージで
 
column:
ymd /date /primary
seat_id /primary
reserved / boolean(設定しても中身はint)
 
 
>カラムにプライマリーキー制約を設定すると、
カラムには他のデータの値を重複することのない値しか
格納することができなくなります。
また NULL も格納することができません。
その結果、プライマリーキー制約が設定されたカラムの値を検索することで、
テーブルの中でただ一つのデータを特定することができます。
 
 

予約をするには予約済みとかがあってほしいのでデータを作っておく
 
一気にデータをつくりだす作業をする
「バッチをとる」というらしい
 
highwaybusフォルダにフォルダをきる
-api
-css
-js
-tool
 
今回は手続き型で書く。クラスのやり方は再来週予定
 

直下にconfig.phpを制作
 
プログラムはおおむね暗記は必要なく理解がひつようだが
PDOの流れやループの書き方は
ある程度出力を何回かやって書き方を覚える必要がある

$dsn = "mysql:host={$host};dbname={$dbname};charset=utf8";
ここは区切り文字はセミコロン。前のテストで間違えたやつだ。
カンマは配列であるとか関数のパラメータの区切り文字で使う。
 
ところで変数というのは、場合によって変数おせんを受けるかもしれない
$dsn = "mysql:host={$host};dbname={$dbname};charset=utf8";
ここをよりセキュアにしたいと思ったら定数を使う
文字列連結をしないといけなくなるのでむつかしい
商用なら定数をつかうとセキュア
 
defineというキーワードがある
オリジナルの定数を作ることが出来る
パラメータは2つ
定義をするときには丸括弧とダブルクォートを使う
 
書いたときにすぐ「定数だ」とわかるように全部大文字で書くのがふつう
define("HOST_NAME","localhost");
こんな風に記述する
既にある定数とかぶらなければなんでも名前は自由
 
define("DB_PASS","");
これはできない
空文字はいれられない
 
本番で運用するときパスワードがないということはありえないのでなにかしら値が入る
 
逆にパスワードってどこで設定するの??
→プロバイダがくれるらしい
 

echo HOST_NAME;
とか書ける。
丸括弧も""もいらない。
これだけでエコーされる
 
ここまで
 

config.php
 
<?php
//setting
//環境によって変える
$host = "localhost";
$dbname = "highwaybus";
$dbuser = "root";
$dbpass = "";
//
$dsn = "mysql:host={$host};dbname={$dbname};charset=utf8";
$pdo = new PDO($dsn,$dbuser,$dbpass);
/*
//定数を使うやり方
define("HOST_NAME","localhost");
define("DB_NAME","highwaybus");
define("DB_USER","root");
define("DB_PASS","");
echo HOST_NAME;
*/
?>
 
PR

コメント

ただいまコメントを受けつけておりません。

プロフィール

HN:
karasumaru
性別:
非公開

P R