

今回は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/の直下に配置しました。
[Prev] VMware Playerを使ったWeb開発環境(Apache MySQL PHP)の構築 Part2

