アプリ版:「スタンプのみでお礼する」機能のリリースについて

php5 apache2 sqlite xpの環境で、指定したテーブルをcountして行数ではなく、列数を取得したいのですが、調べても見つけることができなかったためご教授御願いします。

A B C
2 4 6
1 3 4

行でしたら
select count(*) from tbl_a
で「2」が取得できるのですが、「3」の列を取得したいのです。

A 回答 (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

というように、フィールド全部列挙してあげたほうが良い気がしますよ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/11/16 14:31

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

この回答への補足

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

補足日時:2010/11/15 14:13
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/11/16 14:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!