• ベストアンサー

php sqlite count 列数取得

php5 apache2 sqlite xpの環境で、指定したテーブルをcountして行数ではなく、列数を取得したいのですが、調べても見つけることができなかったためご教授御願いします。 A B C 2 4 6 1 3 4 行でしたら select count(*) from tbl_a で「2」が取得できるのですが、「3」の列を取得したいのです。

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

  • ベストアンサー
回答No.2

sqlite_num_fieldsの使い方は、 <?php //適当にDBひらいて $res = sqlite_open('filename'); //適当にクエリを発行して結果セット($result)を得て $result = sqlite_query($res, 'select * from tbl_a'); //結果セットを引数にする $count = sqlite_num_fields($result); ?> でよさそうです。 が、列数って、自身で設計したテーブルなのであれば、わざわざスクリプトで数えなくても、分かっている内容ではないですか? SQL文を面倒臭がらず、 SELECT A, B, C FROM tbl_a というように、フィールド全部列挙してあげたほうが良い気がしますよ。

vanomega
質問者

お礼

サンプル感謝します。DB内のデータが多く変動も多いためスクリプトでの方法を考えています。全体の列数からあるデータの割合なども求めたりするもので・・・。お世話になりました。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

select した結果に対して sqlite_num_fields 関数でフィールド数を得るのではだめですか?

vanomega
質問者

お礼

解決のきっかけになりました。有難うございます。

vanomega
質問者

補足

申し訳ありません。初心者で調べたものの関数の使用方法が解りませんでした。サンプルを載せて頂けるとありがたいです。