• ベストアンサー

SQLのSUM関数で取得した値を参照する方法は?

PHP4.xx + postgresを使っております。 さて、SQLのSUM関数で取得した値はPHPで どのように参照したらよいのでしょうか? 以下にソース例をあげておきます。 $sql = "select key1,sum(kin) from testDB where 条件 group by key1"; $rs_test = $db->getAll($sql,DB_FETCHMODE_ASSOC); foreach($rs_test as $rs_row){  item1 = $rs_row[key1];  item2 = ???????? <-ここでkinの集計を参照したい。 } sum(kin) as gokeiなどとするのかと思ったのですが、 これはこれで参照方法がわかりません。

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

  • ベストアンサー
  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

まずは、$rs_testをvar_dump($rs_test)してみればある程度わかる(見えて来る)と思います。 # そもそも、$rs_testってどんな構成のデータか分からないので、、、

mogmogtae
質問者

お礼

ご回答ありがとうございます。 ご指示いただいた通りvar_dumpをとったところ わかりました。 sum(kin)とした場合は$rs_row[sum] 複数sum関数を使う場合は sum(kin1) as gokei1,sum(kin2) as gokei2 $rs_row[gokei1] $rs_row[gokei2] で読めました。

その他の回答 (1)

  • togino
  • ベストアンサー率75% (97/129)
回答No.2

> $rs_row[gokei2] > で読めました。 AS で名前を付け替えて、その新しい名前で読み込む というのは正しいのですが、 $rs_row['gokei2'] のように シングルクォテーションかダブルクォテテーションで囲むようにしてください。 理由は、PHP のマニュアルに書かれています。 古い書き方で、予期せぬバグの原因にもなりかねません。 http://www.php.net/manual/ja/language.types.array.php#language.types.array.donts

参考URL:
http://www.php.net/manual/ja/language.types.array.php#language.types.array.donts
mogmogtae
質問者

お礼

ご回答ありがとうございます。 マニュアルの該当箇所を読みました。 ご指摘いただかなければそのまま 囲わずに使っていました。

関連するQ&A

専門家に質問してみよう