VMware Playerを使ったWeb開発環境(Apache MySQL PHP)の構築 Part3

このエントリーをはてなブックマークに追加

今回はPHPからMySQLにアクセスする簡単なプログラムを作成してみます。
プログラムの内容は、お気に入りのWebサイトの”サイト名”と”URL”をデータベースに登録して、ブラウザから表示するという簡単なものです。

MySQLでデータベース、テーブルを作成する

作成するデータベース名:testdb
作成するテーブル名 :urllist

・データベースtestdbを作成する
[アプリケーション]→[アクセサリ]→[端末]からmysqlのユーザーでデータベース(testdb)を作成します

$ mysql -u root -p

mysql> create database testdb character set utf8;
Query OK, 1 row affected (0.02 sec)

・テーブルurllistを作成する
データベースに登録するテーブルをあらかじめデータファイルとして作成しておきます。
ここで作ったファイルをmysqlから読みこませてテーブルを作成するという方法を行います。

[アプリケーション]→[アクセサリ]→[テキストエディタ]を起動してurllist.sqlファイルを作成します。

ファイル名: urllist.sql

USE testdb;

DROP TABLE IF EXISTS `urllist`;
CREATE TABLE `urllist` (
        `url_id` int(11) NOT NULL auto_increment,
        `sitename` varchar(64),
        `siteurl` varchar(64),
        PRIMARY KEY (`url_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `urllist` (sitename,siteurl)values("google","http://www.google.co.jp");
INSERT INTO `urllist` (sitename,siteurl)values("yahoo","http://www.yahoo.co.jp");
INSERT INTO `urllist` (sitename,siteurl)values("msn japan","http://jp.msn.com/");

作成したurllist.sqlファイルをmysqlからsourceというコマンドを使って読み込ませます。
端末を起動してmysqlからコマンドを実行します。

mysql> source urllist.sql
Database changed
Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.02 sec)

Query OK, 1 row affected (0.00 sec)

Query OK, 1 row affected (0.01 sec)

Query OK, 1 row affected (0.00 sec)

これでテーブルの登録は完了です。
テーブルの内容を確認してみます。

mysql> use testdb;
Database changed
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| urllist          |
+------------------+
1 row in set (0.00 sec)

mysql> select * from urllist;
+--------+-----------+-------------------------+
| url_id | sitename  | siteurl                 |
+--------+-----------+-------------------------+
|      1 | google    | http://www.google.co.jp |
|      2 | yahoo     | http://www.yahoo.co.jp  |
|      3 | msn japan | http://jp.msn.com/      |
+--------+-----------+-------------------------+
3 rows in set (0.00 sec)

PHPからMySQLにアクセスし、データを表示する

MySQLにアクセスするPHPのプログラムを作成します。
[アプリケーション]→[アクセサリ]→[テキストエディタ]を起動して下記のファイルを作成します。

ファイル名: urllist.php

<?php

// 初期設定
define("HOSTNAME",	"localhost"); 	// ホスト名
define("USERNAME",	"root");		// ユーザー名
define("PASSWORD",	"********");	// ユーザーパスワード
define("DBNAME", 	"testdb");		// データーベース名

// MySQLに接続
$db = mysql_connect(HOSTNAME, USERNAME, PASSWORD) or ("DB接続エラー");

// データベースをを選択
mysql_select_db(DBNAME, $db) or die("SQLセレクトエラー");

// 実行するSELECTコマンドを変数$sqlに格納
$sql = "SELECT * FROM urllist;";

// SQLを実行する
$dbdata = mysql_query($sql) or die("SQL実行エラー");

// 取得したデータをHTMLのテーブルタグで囲って出力する
print "<table border=1>";
print "<tr><td>No</td><td>Name</td><td>URL</td></tr>";
while($tdata = mysql_fetch_assoc($dbdata)){
	//print_r($tdata);
	printf("<tr><td>%d</td><td>%s</td><td><a href=\"%s\" target=\"_blink\">%s</a></td></tr>\n", $tdata["url_id"], $tdata["sitename"],$tdata["siteurl"],$tdata["siteurl"]);
}
print "</table>";

// DBの接続を終了する
mysql_close($db);

?>

作成したurllist.phpは/home/ユーザー名/public_html/の直下に配置しました。

FireFoxからアクセスしてみます。

[Prev] VMware Playerを使ったWeb開発環境(Apache MySQL PHP)の構築 Part2


コメントは受け付けていません。