前回の手順で下のようなテーブルがデータベース内に作成できました。
messagesテーブルに登録したデータ
| id 項目番号 | message メッセージ |
|---|---|
| 1 | やあ。 |
| 2 | DBのメッセージ |
| 3 | へい!へい! |
今回はこのテーブルからデータを取得して表示するPHPプログラムを作成します。
1.PHPプログラムの作成
下のようなPHPのコードを入力します。
<?php
$dbName = 'php_db'; // データベース名
$dbUser = 'php_db'; // ユーザ名
$dbPass = 'php_db'; // パスワード
// データベースへ接続する
try{
// MySQLへ接続
$pdo = new PDO(
'mysql:host=localhost; dbname='.$dbName,
$dbUser,
$dbPass,
array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET CHARACTER SET utf8;')
);
}
catch(PDOException $e){
// エラー
print 'error!<BR />';
die;
}
// データベースからデータを取得
$query = $pdo->prepare('select * from messages'); // データ取得のSQL文
if( !$query->execute() ){ // SQL文を実行
// エラー
print 'execute error!<BR />';
die;
}
// データベースから取得したデータを表示
while( $row = $query->fetch(PDO::FETCH_OBJ) ){ //データベースから
print $row->id . ':'; // idフィールドの内容を表示
print $row->message . '<BR />'; // messageフィールドの内容を表示
}
?>
最初はデータベースへの接続をしています。
$dbName = 'php_db'; // データベース名
$dbUser = 'php_db'; // ユーザ名
$dbPass = 'php_db'; // パスワード
// データベースへ接続する
try{
// MySQLへ接続
$pdo = new PDO(
'mysql:host=localhost; dbname='.$dbName,
$dbUser,
$dbPass,
array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET CHARACTER SET utf8;')
);
}
catch(PDOException $e){
// エラー
print 'error!<BR />';
die;
}
PDOのコンストラクタにデータベース名、ユーザ名、パスワードを渡すと、データベースへ接続することができます。次に、データベースからデータを取得しています。
// データベースからデータを取得
$query = $pdo->prepare('select * from messages'); // データ取得のSQL文
if( !$query->execute() ){ // SQL文を実行
// エラー
print 'execute error!<BR />';
die;
}
データベースへの接続オブジェクト($pdo)にSQL文を渡して、データベース操作用のオブジェクト($query)を作っています。データベース操作用オブジェクトのexecute()メソッドでデータの取得を行っています。
最後はデータベースから取得したデータを表示しています。
// データベースから取得したデータを表示
while( $row = $query->fetch(PDO::FETCH_OBJ) ){ //データベースから取得したデータを1つ持ってくる
print $row->id . ':'; // idフィールドの内容を表示
print $row->message . '<BR />'; // messageフィールドの内容を表示
}
?>
データベースから取得した結果を使った処理をするには、fetchメソッドを使います。fetchメソッドの引数にPDO::FETCH_OBJを渡すと、オブジェクトとしてデータを取得できます。
このオブジェクトは、フィールド名がプロパティになるので、idプロパティの値とmessageプロパティの値をprintで表示しています。
実行結果
参考
0 件のコメント:
コメントを投稿