こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

mysqlについてサンプルなど教えてもらえませんか

すいません。今phpなどを使いウェブサイトを作っているのですが、データベースがどうしても
必要となり、参考サイトなどを見ながら作りました。
ほとんどできたのですが、最後に一部データベースの関数などでわからない事があり困っています。
(正直私はプログラムはphp程度が少し分かる程度で、データベースも単純な使い方しかしない
予定なので参考サイトをざっと見ただけでmysqlの事がほとんど分かりません)

ググってそれらしい物を探してはいるのですが、私がやりたい事はデータベースから
件数を取りたいだけです。
取った件数をphpで表示したいのですが、何時間やっても良くわかりません。
申し訳ないんですが取り出した後その件数をphpのechoで表示するまでをサンプルとして書いてもらえませんか?(可能であれば「ここでこのような処理が行われている」とコメントがもらえると助かります)

データベース関係はphpと違って初心者用のサイトなども無く、書いてある事がほとんど分かりません。
(ここでSELECT COUNT(*)を使うと教えてもらったのですが、SELECT COUNT(*)でググっても
サンプルなども出てきません)




$pdo = new PDO("mysql:dbname=aaa", "root");
$pdo->query("set names utf8;"); //

------------------------------------------------
$sql = $pdo->query("SELECT COUNT(*) FROM bbb");
$stmt = $pdo->query($sql);
$stmt->execute();
$count=$stmt->rowCount();
echo $count;
-----------------------------------------------
$result = mysql_query("SELECT COUNT(*) FROM bbb");
$row = mysql_fetch_assoc( $result );
echo $row;

投稿日時 - 2013-12-02 01:52:18

QNo.8369930

すぐに回答ほしいです

質問者が選んだベストアンサー

前回COUNT(*)回答の者です。

あれはDBから取得時の件数カウント方法でした。わかりずらくて申し訳ありませんでした。。どっちでも一応可能ですがphp側でもっと楽に件数カウントができます。

  $stmt = $pdo->query("SELECT * FROM bbb");  ←ここではカウントしない
  $stmt->execute();
  $count = $stmt->rowCount();  ←ここでカウント
  echo $count;


/* 参考: これはSELECT COUNT(*)した場合の
        FETCHして1件のみ表示 ※非推奨
  $count = $stmt->fetch(PDO::FETCH_ASSOC);
  echo implode($count);
*/

※質問ソースの場合、件数(例えば10)とDB結果が1行出たものをさらにその件数(いわゆる1行)をPHP側で数えています。(なので何件でも1と出ます)

投稿日時 - 2013-12-02 08:01:12

お礼

お礼が遅くなりました。仕事でなかなかプログラムが触れませんでしたので・・。
おっしゃるやり方で上手く動きました。これでサイトは完成しましたのであとはアップロードするだけです。
ありがとうございました。

投稿日時 - 2013-12-09 09:47:20

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

補足
ああsql結果は基本的に配列構造なのでimplode()なりしないと1すら出ません。。

投稿日時 - 2013-12-02 08:10:41

あなたにオススメの質問