Распечатать COUNT - SQL / PHP - PullRequest
0 голосов
/ 17 августа 2011

У меня есть этот код:

$topics= mysql_query("SELECT COUNT(*) FROM forum_topics WHERE forum_id=".$h['forum_id'].""); 
                print $topics; //This prints out 1, but should be 14?

Как видите, я выбираю COUNT из своей таблицы.Эта таблица содержит 14 строк.Как я могу распечатать это?Как и сейчас, когда я печатаю $ themes, он просто говорит Resource Id # 18.

Ответы [ 5 ]

2 голосов
/ 17 августа 2011

Вам нужно сделать:

$topics = mysql_query("SELECT COUNT(*) FROM forum_topics WHERE forum_id=".$h['forum_id'].""); 
$result = mysql_fetch_assoc($topics);
print $result['COUNT(*)'];
1 голос
/ 17 августа 2011
$topics= mysql_query("SELECT COUNT(*) as Count FROM forum_topics WHERE forum_id=".$h['forum_id']."");

$topics не будет печататься 14.Запрос возвращает Resource ID в success и false в error.

Источник: Ссылка .

Если вы хотите получить Count, вы можетеdo,

$rows = mysql_fetch_array($topics) //You can use this since it's only one record
{
     echo $rows['Count'];
}

Если вам нужно получить несколько записей, вы можете использовать

while($rows = mysql_fetch_array($topics))
{
     echo $rows['Count']."</br>";
}
1 голос
/ 17 августа 2011

Тогда вам нужно что-то вроде

if ($row = mysql_fetch_row($topics))
{
   echo $row[0];
}
0 голосов
/ 17 августа 2011

Это потому, что $ themes - это ресурс, а не набор результатов.Вам нужно получить набор результатов (массив), используя mysql_fetch_assoc, mysql_fetch_array, или вы можете использовать mysql_fetch_row в этом случае.

http://us.php.net/manual/en/ref.mysql.php

0 голосов
/ 17 августа 2011
$topics= mysql_query("SELECT COUNT(*) as count FROM forum_topics WHERE forum_id=".$h['forum_id'].""); 
while($row = mysql_fetch_array($topics)){
    echo $row['count'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...