XAMPP(1/2) old version
2週 Webとデータベース: XAMPPを使用してCSシステム型のデータベースについて把握する。
キーワード: MySQL Webサーバ PHP SQL
・Webclass初回レポートの集計結果へのコメント
・Webclassコース ITパスポート の確認問題へのコメント
■ XAMPPについて
・XAMPP配布サイト(日本語版)
・XAMPP(Wikipedia)
今回は、XAMPPで提供されるサービスのうち、 Webサーバ(Apache)、データベースサーバ(MySQL) を利用する。
■演習内容
旧資料 ↓(の改定版(運用停止中))
MySQL入門
XAMPPによるMySQLの利用
XAMPPはWebサービス開発環境である。( http://ja.wikipedia.org/wiki/XAMPP )
Webサーバ、FTPサーバ、データベースサーバを利用できる。 DBMSとして MySQL を利用している。 サーバサイドスクリプトとしてPHPを利用している。
ネットで入手可能なフリーウェアである。(XAMPP日本語版 http://www.apachefriends.org/jp/xampp.html )
情報実習室PCにインストールされているXAMPPを利用して、以下の演習を行う。
※【重要】 実習室のXAMPPのバージョンに注意。【XAMPP Version 5.6..23】 自宅やノートPCなど自分の開発環境を準備する場合は、実習室と同じバージョンのものにしておくと、コードをどちらの環境でも共通で利用できる。
XAMPPの起動
コンピュータの Dドライブのフォルダ xampp を開く。
フォルダ内の xampp-control.exe をダブルクリック。
XAMPPのコントロールパネルが表示されるので、動作状況を確認する。
上図のように、Webサーバ と MySql サーバが起動していない(Runningになっていない)場合、
Webサーバ Apache を起動 (startをクリック)
データベースサーバ MySql を起動 (startをクリック)
で、サービスを起動させる。
サンプルデータベースの確認
ブラウザから利用可能な、Webデータベースのサンプルの動作確認をする。
Apache管理画面の デモ CDデータベース を開く。
【操作】 XAMPPコントロールパネル Apache の Admin → 日本語版 → CDコレクション
データを適当に数レコード入力して、動作を確認する。
※ レコード とは:データベース上の記録のこと。テーブルの1行のデータ。
※ 漢字入力 OFF の状態で入力すること。
※ 漢字・ひらがな等、全角文字のデータを記録するためには、プログラムの修正が必要(後述)
上記ページは、サーバ上のPHPのプログラム(cds.php)が、MySQLのCDデータベースを操作して、テーブルの表示や
レコードを記録するように構成されている。
サーバ上のソースコードを表示して、 コード中にSQLコマンドが存在することを確認する。
※ 画面下部の、”ソースコードの表示” のリンクは機能しない。
cds.php のファイルは、 D:\xampp\htdocs\xampp\cds.php に配置されている。
用語:ドキュメントルート D:\xampp\htdocs\ ↑のフォルダのこと。Web用のコンテンツの配置場所
確認手順:
TeraPad で、上記のファイルを開く。(ファイルの拡張子は.phpを選択)
■ プログラムに修正1を加える。
83行目の付近、 mysql_select_db("cdcol"); の下にコマンド mysql_set_charset('utf8');を1行追加。(文字化け対策)
mysql_select_db("cdcol");
mysql_set_charset('utf8');
■ 修正2
87行付近、 PHP の print コマンドの出力を変更
<h2><?php print $TEXT['cds-head1']; ?></h2>
↓
<h2><?php print "3112987 Print Test"; ?></h2>
■確認1
$result = mysql_query("SELECT id,titel,interpret,jahr FROM cds ORDER BY interpret");
上記のコードは、 SQLでデータベースのテーブル cds の内容を取得している部分である。
演習: ↑のSQLのコードは、作曲者(interpret)順にCDデータを並べ替えて表示している。
ORDER BY interpret を ORDER BY jahr に変えてみる。年順に表示されるようになる。
■確認2
確認1と同様に、SQLの insert コマンドや delete コマンドでテーブルにデータを追加・削除している部分を見つけて見よう。
MySQLの確認と操作
xampp-control から、 MySQLの管理画面を開く(adminをクリック)
データベース cdcol を開き、 cds テーブルにデータが記録されていることを確認する。
構造 タブ の 操作欄 にあるアイコン 表示 をクリック
挿入のタブからデータを数レコード試しに入力してみる。(漢字・ひらがななど日本語文字は文字化けします。解説後述)
※下の画像は、タイトルについては文字の設定を修正したが、作曲者(interpret)については修正を施しておらず、文字化けが起きている。
文字化けについて:
ブラウザの表示で文字化けがおきたら、Webページの文字コードを設定を確認する。
Chromeでページの表示文字コードを修正するには: メニュー → その他のツール → エンコード
MySQLのサンプルデータベース CDデータベースのWebの部分は、文字コード S-JIS に設定されている。
一方、MySQLでは文字コードはLatin1になっているので、日本語文字を入力しても、文字化けする。
データベースへの日本語文字記録の設定:
MySQLのデータベース cdcol 内の テーブル cds のフィールド の文字コードを修正する手順を示す。
テーブル cds を選択後、構造タブを開き、各フィールドの 操作の”変更” から修正する。
titel と interpret のフィールドの照合順序を latin1_general_ci から utf8_general_ci に修正して、保存ボタンを押す。
データベース内部には日本語文字として記録される。だたしWeb画面上では文字化けする。(Web画面がS-JISで設計、MySQLがUTF8で設計と、ずれがあるため)
データは、着席したPCのDドライブに保存されています。
今後も今回の座席を利用してください。
課題の提出について
データベースcdcolの レコード(記録内容) がわかるように、画面のスクリーンショットを撮って、
WebClass の第2回XAMPP演習 からファイルをアップロードしてください。