• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sql文のヵウント関数について)

SQL文のcount関数とは?

このQ&Aのポイント
  • SQL文のcount関数を使って、humanテーブルのレコード件数を取得しましょう。
  • humanテーブルのレコード件数を表示する方法を教えてください。
  • sqlの出力は配列のみなのでしょうか?

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

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

print ($num=$con->querySingle); これだと、$con->querySingleが変数になってしまいます。 これは「関数」です。 私が書いた通り一度実行してみてください。 流れがわかるので。

dhtfyjh
質問者

お礼

いつもありがとうございます。 うまくいきました。 補足の方は自分でも頑張ろうと思います。

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • No6K
  • ベストアンサー率62% (5/8)
回答No.5

https://www.php.net/manual/ja/sqlite3result.fetcharray.php#99917 $con->fetchArray() で結果が取得できると思います。 phpは公式のドキュメントに結構サンプルコードがあるので、まずこっちで検索すると捗ります。

すると、全ての回答が全文表示されます。
  • agehage
  • ベストアンサー率22% (2733/12014)
回答No.4

//データの件数を表示する print $con[id]; だとどうなります?

すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5228/13675)
回答No.3

> $con = $db->query($query); $con に入るのはResultクラスのインスタンスです。 なので、そのままprint文で出力する事ができません。 インスタンスの中から必要なデータを取り出して使用しましょう。

dhtfyjh
質問者

補足

ご回答ありがとうございます。 //クエリを実行 $con = $db->query($query); ここで、受け取ったつもりでいました。 間違えました。 もし、私の質問のようにするならば print ($num=$con->querySingle); ですか? やりたかったことはsqlで受け取った値をprintの引数にして出力した。です。

すると、全ての回答が全文表示されます。
  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.2

humanテーブルの構造がわかりませんが、テーブル全体の件数を取得したいのでしょうか?でしたら指摘済みの「SELECT COUNT(*) FROM human」でいいです。 ですが、idがユニークではなく重複しており、それぞれの件数を取得したいというのであれば「SELECT ID,COUNT(*) FROM human GROUP BY id」で複数行になりますがid毎の件数を取得できます。 で、エラーメッセージを見るとString型にConvert(変換)できないという意味合いに受け取れます。 $db->query($query)のデータタイプを調べて適切な変数への代入にするか、適切なデータ型への変換を行えばいいと思います。

dhtfyjh
質問者

補足

ご回答ありがとうございます。 //クエリを実行 $con = $db->query($query); ここで、受け取ったつもりでいました。 間違えました。 もし、私の質問のようにするならば print ($num=$con->querySingle); ですか? やりたかったことはsqlで受け取った値をprintの引数にして出力した。です。

すると、全ての回答が全文表示されます。
回答No.1

https://www.php.net/manual/ja/sqlite3.query.php そもそも、送ってるだけで受け取ってなくないですか? https://www.php.net/manual/ja/sqlite3.querysingle.php こいつで、単一の結果を返せるようなので。 組み合わせればOKでしょう。 また、idを数える意味があまりないなら"*"でもいいかと。 $sql = "SELECT COUNT(*) FROM human"; $num = $db->querySingle($sql); echo $num.' 件だとさ'; なんかでどう?

dhtfyjh
質問者

補足

ご回答ありがとうございます。 //クエリを実行 $con = $db->query($query); ここで、受け取ったつもりでいました。 間違えました。 もし、私の質問のようにするならば print ($num=$con->querySingle); ですか?

すると、全ての回答が全文表示されます。