2011-11-15 1 views
0

SQLテーブルの行の総数を取得しようとしています。SQL行の数

$rowNum = mysql_query("SELECT COUNT(*) FROM Logs"); 
$count = mysql_fetch_assoc($rowNum); 
echo "Rows: " . $count; 

は、しかし、私が手出力がRows: ArrayいうよりRows: 10のようなものです:

私は、次のコードを使用しています。

私が間違っていることを知っていますか?

答えて

3

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"]; 
+0

ラドーありがとう、素晴らしい作品! – user1028882

0

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を参照してください。

0
<?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"; 

?> 
+0

テーブル全体からすべての値を含むすべての行を取得するだけで、そこに含まれる値の数をカウントするのは非常に効率が悪いです。 – rid

+0

ありがとうございました! – tmjam

+0

select count(*)だけではないのはなぜですか?行数だけ不必要なデータをたくさん引っ張っている – CountMurphy

0

MySQLの開発プロジェクトは、GNU General Public Licenseの条件の下で、だけでなく、独自の協定の様々な環境下で、そのソースコードが利用可能になりました。 MySQLはWikipedia、Google(検索はできませんが)、Facebook、Twitterなど、多くの注目度の高い大規模なWorld Wide Web製品でも使用されています。ウェブページ文書を生成する MySQL Tableの詳細については、ここを参照してください。