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演習 からファイルをアップロードしてください。

時間が余ったら、次回の予習に進んでください。