PHPからMySQLへ接続
広告
サンプルデータベースが作成できましたので、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です。
スクリプトを簡単に説明しますと、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」へアクセスして下さい。
上記のように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+ )
Facebook Page