PHP でDBのデータの表示
#02 データを全件表示してみよう
http://dotinstall.com/lessons/basic_php_advanced/6902
を参考に
DBアクセスして、テーブル内のデータ全件表示方法を学習
そして、レコード件数の表示についても学習
今回は処理について
sql 文は、PHPの場合変数へ格納することができる
$sql =”select * from users”;
そして、この変数に格納したSQLを実行するには
query()
を使う
この query() で実行された結果も
PHPなら変数へ格納することが可能
$stmt =$dbh->query($sql);
ちなみに、$dbh は
接続するDB情報が格納されている変数で
$dbh = new PDO(‘mysql:host=localhost;dbname=blog_app’,’dbuser001′,’dbpwd0001′);
となっている
この変数に格納されたSQL実行結果の取りだしには
fetchAll() を使う
今回は
$stmt に格納されているので
$stmt->fetchAll(PDO::FETCH_ASSOC)
というようにする
これを foreach() でまわしながら取得する
foreach($stmt-?fetchAll(PDO::FETCH_ASSOC) as $user){
var_dump($user[‘name’]);
}
これは
$stmt->fetchAll(PDO::FETCH_ASSOC)
の中身を
$user に1つずつとりだして代入している
var_dump() のところの
$user は、いわばDBの内容になる
そして、
$user[‘name’]
の
name は
DB の users にある name の部分ということ
これを追記して
結果が
string(7) “taguchi” string(6) “tanaka” success!
というようになれば成功
おなじになっているのか確かめるには
mysql -u root -p
でログインして
use blog_app;
select * from users;
を実行して、この結果とおなじか確かめることができる
次に、件数の表示
これは
まずは、query() の中に件数を表示するSQLを記述
$dbh->query(“select count(*) from users”)
そして、この結果を
fetchColumn() で取得
これで件数がわかるので
echo で出力すればOK
あとは、わかりやすいように
PHP では . で javascript の + みたいに文字をつなげられるので
. “records found”
というように文字をつなげる
これらをソースにすると
echo $dbh->query(“select count(*) from users”)->fetchColumn() . “records found”;
というようになる
これで
2records found
と表示される