前回の手順で下のようなテーブルがデータベース内に作成できました。
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 件のコメント:
コメントを投稿