Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

 MySQLとPHPの連携

PHPからMySQLを操作する方法をご紹介します。
PHP、MySQL単体での動作はすでに完了していることが前提となります。

PHPの設定は当サイト内「PHP( RPM 版)の導入」で解説しています。
バージョンはちょっと古いですが、基本的には同じだと思います。もし異なるようでしたら、検索サイト等でお調べください。

MySQLの設定方法は当サイト内「MySQL の導入」で解説しています。内容は2008年4月現在、最新のものになっております。

ページ内コンテンツ一覧

▲ページの最上部に戻る

 php-mysqlモジュールのインストール

MySQLとPHPの接続モジュールをインストールします。
最近のOSでは元々インストールされているものもありますが、改めてインストールすることをお勧めします。
私はこれでハマりました。。。

# yum install php-mysql

念のため Apache を再起動します。

# /etc/rc.d/init.d/httpd restart

▲ページの最上部に戻る

 データベース操作用のユーザの作成

当サイト内「MySQL の導入」の中で紹介している「テストデータで動作確認」で作成したデータベースを利用したいと思います。

「sample」データベースに対して全権限を持つユーザを作成します。

# mysql -u root -p ← rootでログイン Enter password: ← パスワードを入力 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 to server version: 4.1.20 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> grant all privileges on データベース名.* to ユーザ名@localhost identified by 'パスワード'; ← ユーザを作成 mysql> \q ← ログアウト Bye

▲ページの最上部に戻る

 サンプルスクリプトで動作確認

以下を参考にサンプルスクリプトを作成し、PHPが動作するディレクトリに格納してください。 パーミッションの設定も忘れずに。

文字コードは必ずUTF-8で作成するようにしてください!

<html> <head> <meta http-equiv=content-type content="text/html; charset=UTF-8"> <title>PHPのテスト</title> </head> <body> <?php // サーバ接続 $con = mysql_connect("localhost","ユーザ名","パスワード") or die("接続失敗"); // データベースを選択 mysql_select_db('sample',$con) or die("DBがありません"); // 文字化け防止のおまじない $strsql = "SET CHARACTER SET UTF8"; mysql_query($strsql,$con); $strsql = "select * from sample_tbl"; // SQLの実行 $res = mysql_query($strsql,$con); print "照会件数= " . mysql_num_rows($res) . "<br>"; // 展開 while ($item = mysql_fetch_array($res)) { print $item[0]." ".$item[1]."<br>"; } // 接続をクローズ mysql_close($con); ?> </body> </html>

上記スクリプトを実行し、先述の「テストデータで動作確認」で作成したデータベースなら、以下が表示がされます。

照会件数= 2
1 GODZILLA
2 ゴジラ

日本語が文字化けしていないことを確認してください。
以上です。

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net