PHPからMySQLへ接続

広告
facebookボタン
googleplusボタン
twitterボタン
ダミーボタン
bloggerボタン

サンプルデータベースが作成できましたので、PHPを使ってMySQLへ接続しデータを取得した後で表示してみます。

次のような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=stafflist;host=localhost';
$user = 'stafflistuser';
$password = 'stafflistuser';

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

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

ではブラウザを起動し「http://localhost/dbtest.php」へアクセスして下さい。

p6-2

上記のようにMySQLのデータベースからデータを取得できていれば成功です。

補足

今回PHPからMySQLへアクセスする際にPDOを使用しました。PDOは標準で利用できるようになっているはずですが、もしもうまく動作しない場合には「php.ini」ファイルをテキストエディタで開き下記の箇所を確認して下さい。

639行目:

extension=php_pdo.dll

642行目:

extension=php_pdo_mysql.dll

それぞれ先頭にセミコロン(;)が付いていないことを確認して下さい。なおPDOについて詳しくは「PDOの利用」を参照下さい。

( Written by T.buzz.Ikura+ )

Social Button
Facebook Page