2012-01-26 10 views
0

可能な重複を返す:私は実行すると
Whats the best way to get total # of records in a mysql table with php?MySQLがテーブル内の行をカウントし、整数に

を:

mysql_query("SELECT COUNT(col) FROM table"); 

私はこのようなもので終わります:

(リソース)MySQLの結果後、私のようなsimpelチェック作ってそれを使用できるように#4

どのように私は私のテーブル内の行の数を表す整数を取得することができます:$結果< 10をMySQLのリソースを返しますmysql_query

多くのおかげ

+0

TABLEは、MySQLの予約語です。バッククォート( ')を使用して名前を引用するか、このテーブルの名前を変更します。 – Devart

+0

@Devartでは、OPでカラム名に 'col'も使用していると考えていますが、これらの言葉の使用は単なる例であると思います。 –

答えて

6

の2つのオプションがあります。

$resource = mysql_query("SELECT COUNT(col) FROM table"); 
$count = mysql_result($resource,0); 

あるいは、(カウントなし)クエリによって返されたリソースからの行数を取得する:

はカウントクエリによって返されたリソースから結果を取得します。

私はあなたがカウントが必要なときだけテーブルからすべてのデータを抽出する必要はないという理由から、最初の使用をお勧めします。私はcount(*)とは対照的に、それが唯一のcolの非NULL値をカウントするよう、count(col)の効果を再現するために、第2の1にWHERE col IS NOT NULLを追加しました

注意。

+0

これらは同じように動作しない可能性があります。 'count(col)'は 'col'のヌル以外の値だけをカウントし、2番目の値は合計行数をカウントします。 –

+0

@DorShemerこれは本当です - 最後に 'IS NOT NULL'を追加するように更新しました –

+0

ありがとうございました。 – silkAdmin

3

$result = mysql_query("SELECT COUNT(col) FROM table"); 
if (!$result) { 
    die('Error:' . mysql_error()); 
} 
echo mysql_result($result, 0); 

はここより多くの例を参照してください:クエリの出力使用を取得するにはhttp://php.net/manual/en/function.mysql-query.php

EDIT

ちなみに、これは唯一の非NULL値を持つ行の数をカウントしますcol。テーブル内の行の総数を取得するには、count(*)

0

2つのオプション。

  1. SELECT COUNT(*)....

  2. は、通常のクエリを実行してください。そして、リソースを取得した後にこの行を追加します。

    $num = mysql_num_rows($resource); 
    
関連する問題