アフィリエイト広告を利用しています

2017年11月16日

いつもデータが1件

テーブルのデータ件数を取得する。


 $sql =& $this->con->prepare("SELECT count(*) as kensu FROM tablename" );
 $res =& $this->con->execute($sql);
 $cnt = $res->numRows();

変数$cntにはいつも1がセットされる。
テーブルには10件以上のデータが登録されているのになぜ?

原因は

データ件数を計算しているが、計算結果が1行のデータとして表示されているため。

以下のように修正した。


 $sql =& $this->con->prepare("SELECT count(*) as kensu FROM tablename" );
 $res =& $this->con->execute($sql);
 $row =& $res->fetchRow(DB_FETCHMODE_ASSOC);
 $cnt = $row['kensu'];


これで正しく件数を取得できた。

やれやれ!






posted by db-engineer at 00:00 | Comment(0) | PHP

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド