PHPプログラムからMySQLへ接続テスト

広告

最後に先ほど作成したMySQLのデータベースへPHPのプログラムの中からアクセスするサンプルを作成し、正常に動作するかどうかを確認してみます。

次のようなPHPファイルを用意しました。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>MySQLへの接続テスト</title>
</head>
<body>

<?php

$dsn = 'mysql:dbname=staff;host=localhost';
$user = 'testuser';
$password = '***********';

try{
    $dbh = new PDO($dsn, $user, $password);

    $sql = 'select * from staffname';
    foreach ($dbh->query($sql) as $row) {
        print($row['id'].',');
        print($row['name']);
        print('<br />');
    }
}catch (PDOException $e){
    print('Error:'.$e->getMessage());
    die();
}

$dbh = null;

?>

</body>
</html>

上記を「dbtest.php」と言う名前でApacheのドキュメントルートに保存しました。文字コードはUTF-8です。

p6-1

先ほどのプログラムではMySQLで作成したデータベース、テーブル、ユーザ名、パスワードを次の箇所に記載して下さい。

$dsn = 'mysql:dbname=データベース名;host=localhost';
$user = 'ユーザ名';
$password = 'パスワード';

try{
    $dbh = new PDO($dsn, $user, $password);

    $sql = 'select * from テーブル名';
    foreach ($dbh->query($sql) as $row) {
        print($row['id'].',');
        print($row['name']);
        print('<br />');
    }
}catch (PDOException $e){
    print('Error:'.$e->getMessage());
    die();
}

ではブラウザを起動し「http://localhost/dbtest.php」へアクセスして下さい。指定したテーブルからデータを取得し画面上に表示します。

p6-2

もし思ったような表示がされない場合には設定などを一通り確認されてみて下さい。

( Written by Tatsuo Ikura )