- ベストアンサー
SQL文のcount関数とは?
- SQL文のcount関数を使って、humanテーブルのレコード件数を取得しましょう。
- humanテーブルのレコード件数を表示する方法を教えてください。
- sqlの出力は配列のみなのでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
print ($num=$con->querySingle); これだと、$con->querySingleが変数になってしまいます。 これは「関数」です。 私が書いた通り一度実行してみてください。 流れがわかるので。
その他の回答 (5)
- No6K
- ベストアンサー率62% (5/8)
https://www.php.net/manual/ja/sqlite3result.fetcharray.php#99917 $con->fetchArray() で結果が取得できると思います。 phpは公式のドキュメントに結構サンプルコードがあるので、まずこっちで検索すると捗ります。
//データの件数を表示する print $con[id]; だとどうなります?
- t_ohta
- ベストアンサー率38% (5253/13739)
> $con = $db->query($query); $con に入るのはResultクラスのインスタンスです。 なので、そのままprint文で出力する事ができません。 インスタンスの中から必要なデータを取り出して使用しましょう。
補足
ご回答ありがとうございます。 //クエリを実行 $con = $db->query($query); ここで、受け取ったつもりでいました。 間違えました。 もし、私の質問のようにするならば print ($num=$con->querySingle); ですか? やりたかったことはsqlで受け取った値をprintの引数にして出力した。です。
- bardfish
- ベストアンサー率28% (5029/17766)
humanテーブルの構造がわかりませんが、テーブル全体の件数を取得したいのでしょうか?でしたら指摘済みの「SELECT COUNT(*) FROM human」でいいです。 ですが、idがユニークではなく重複しており、それぞれの件数を取得したいというのであれば「SELECT ID,COUNT(*) FROM human GROUP BY id」で複数行になりますがid毎の件数を取得できます。 で、エラーメッセージを見るとString型にConvert(変換)できないという意味合いに受け取れます。 $db->query($query)のデータタイプを調べて適切な変数への代入にするか、適切なデータ型への変換を行えばいいと思います。
補足
ご回答ありがとうございます。 //クエリを実行 $con = $db->query($query); ここで、受け取ったつもりでいました。 間違えました。 もし、私の質問のようにするならば print ($num=$con->querySingle); ですか? やりたかったことはsqlで受け取った値をprintの引数にして出力した。です。
- AsarKingChang
- ベストアンサー率46% (3467/7474)
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.' 件だとさ'; なんかでどう?
補足
ご回答ありがとうございます。 //クエリを実行 $con = $db->query($query); ここで、受け取ったつもりでいました。 間違えました。 もし、私の質問のようにするならば print ($num=$con->querySingle); ですか?
お礼
いつもありがとうございます。 うまくいきました。 補足の方は自分でも頑張ろうと思います。