自分の備忘録も兼ねて、ひと通りSQLを使うまでの方法をメモしておこうと思います。
環境はMac10.9.2です。
SQLを使う環境を整えると自ずとPHPをローカルで扱う環境も整ったので合わせて共有しようかなと……(世の中に同じような情報は沢山有りますけど)
MAMPを導入しよう
導入は簡単。
とりあえずFree版落として(PRO版も付いてくるけど気にしない)、インストールして起動する。
後はサーバーを起動して、スタートページが開いたら導入完了。簡単親切設計。
phpMyAdminでちょっと遊ぼう
まずはMAMPでサーバーを起動。サーバーが起動し終わったら、自動で既定のブラウザでスタートページが開くはず。開かなかったら手動で起動しよう。
こんな画面が出るはず。
そしたらこの画像の丁度左下にphpMyAdminとあるはずですのでClick。
早速遊びましょう。
まずは適当に、新規でデータベースを作ってみよう。
名前はfromWhereとかにしますか。照合順序はutf8_unicode_ciに設定して、作成。
次にデータテーブルを作成。なんだっていいですが、名前はwhereFromにしよう。(ネーミングセンス皆無)
今回はID,Name,From,Sex
のデータを登録することにしましょうか。
IDは連番でいいので自動で数字を割り振ってもらって、他のデータはNULLだと困るから、NULLは禁止しよう。
ちゃかちゃかっとデータを6つ位入れて……
テスト用のデータベースの完成。
localでPHPが動作するか見てみよう。
MAMPが動いている時にPHPをローカルで動かす方法は
Application/MAMP/htdocs
にPHPファイルを入れて
http://localhost:8888/
にアクセスするとローカルのPHPのファイルに接続できます。
さて、実際にphpを書いていきましょう。
習うより慣れろということで
Application/MAMP/htdocs/index.php
みたいにファイルを作って以下を書き込んで実行してみましょう。
<?php
//ここにプログラムを書く
define('DB_HOST','127.0.0.1');//ローカルホストのIP
define('DB_USER','root');//MAMPのスタートページにいろいろ書いてる
define('DB_PASSWORD','root');
define('DB_PORT','8889');
define('DB_NAME','fromWhere');//データベース名
$dbhost = "mysql:host=".DB_HOST.";dbname=".DB_NAME.";port=".DB_PORT.";charset=utf8";
try{
$pdo = new PDO($dbhost,DB_USER,DB_PASSWORD);
//whereFromテーブルからすべての情報を取り出すsql文
$sql = "SELECT
*
FROM
whereFrom
";
//全ての情報を保存
$statement = $pdo->query($sql);
//データベースを配列情報に変換して、入れる
$row = $statement->fetchAll(PDO::FETCH_ASSOC);
//データベースの接続アウト
$pdo=null;
}catch(PDOException $e){
echo 'Error:'.$e->getMessage();//エラーの内容を吐き出す
}
?>
<html>
<body>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>From</th>
<th>Sex</th>
</tr>
<?php
if(isset($row)){
foreach($row as $r){
echo '<tr>';
echo '<td>',$r['ID'],'</td>';
echo '<td>',$r['Name'],'</td>';
echo '<td>',$r['From'],'</td>';
echo '<td>',$r['Sex'],'</td>';
echo '</tr>';
}
}
?>
</table>
</body>
</html>
http://localhost:8888/index.php
に、繋ぐと先ほど登録したデータを表示させることが出来ると思います。
こんな感じでデータベースのデータを引っ張る動的なWebサイトが作れるのですね。