SQLテーブルの行の総数を取得しようとしています。SQL行の数
$rowNum = mysql_query("SELECT COUNT(*) FROM Logs");
$count = mysql_fetch_assoc($rowNum);
echo "Rows: " . $count;
は、しかし、私が手出力がRows: Array
いうよりRows: 10
のようなものです:
私は、次のコードを使用しています。
私が間違っていることを知っていますか?
SQLテーブルの行の総数を取得しようとしています。SQL行の数
$rowNum = mysql_query("SELECT COUNT(*) FROM Logs");
$count = mysql_fetch_assoc($rowNum);
echo "Rows: " . $count;
は、しかし、私が手出力がRows: Array
いうよりRows: 10
のようなものです:
私は、次のコードを使用しています。
私が間違っていることを知っていますか?
mysql_fetch_assoc()
は結果列名をキーとして、結果値を値として持つ連想配列を返します。 var_dump($rowNum)
を実行すると、COUNT(*)
をキーに、数値を値として配列が表示されます。 $rowNum["COUNT(*)"]
を使用するか、count式のエイリアスを使用し、エイリアスを使用して値を参照できます。
$rowNum = mysql_query("SELECT COUNT(*) AS total FROM Logs");
$count = mysql_fetch_assoc($rowNum);
echo "Rows: " . $count["total"];
mysql_fetch_assoc
ファンクションは、1つの結果行を表す連想配列をフェッチします。
はこれを試してみてください:
$rowNum = mysql_query("SELECT COUNT(*) AS log_count FROM Logs");
$rows = mysql_fetch_assoc($rowNum);
$count = $rows["log_count"];
echo "Rows: " . $count;
は、詳細はphp.netにmysql_fetch_assocためdocumentiationを参照してください。
<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);
$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
?>
テーブル全体からすべての値を含むすべての行を取得するだけで、そこに含まれる値の数をカウントするのは非常に効率が悪いです。 – rid
ありがとうございました! – tmjam
select count(*)だけではないのはなぜですか?行数だけ不必要なデータをたくさん引っ張っている – CountMurphy
MySQLの開発プロジェクトは、GNU General Public Licenseの条件の下で、だけでなく、独自の協定の様々な環境下で、そのソースコードが利用可能になりました。 MySQLはWikipedia、Google(検索はできませんが)、Facebook、Twitterなど、多くの注目度の高い大規模なWorld Wide Web製品でも使用されています。ウェブページ文書を生成する MySQL Tableの詳細については、ここを参照してください。
ラドーありがとう、素晴らしい作品! – user1028882