2013-03-18 64 views
-2

我试图在我的网站上显示数据库表的计数。我正在使用的代码是:在数据库表中计算行

<?php 
    $results = mysql_query("SELECT COUNT('id') from `idols`"); 
    $count = mysql_result($results, 0); 
    $idols = number_format($count); 
    echo "$idols"; 
?> 

但是,当我对代码进行测试它给了我这样的警告:

警告:mysql_result()预计参数1是资源,布尔线92给出。

任何人都可以帮我吗?

+0

你永远检查mysql_query'的'的返回值,看看是否有一个错误。 – 2013-03-18 00:19:10

+0

看看这个工程[MYSQL CONNECT + COUNT()QUERY] [1] [1]:http://stackoverflow.com/questions/607264/how-can-i-count-the-numbers-of-rows-that -a-mysql-query-returned – Grmn 2013-03-18 00:21:37

+0

尝试在'mysql_query'之后调用[mysql_error](http://php.net/manual/en/function.mysql-error.php) – 2013-03-18 00:24:08

回答

0

你查询返回布尔值false。

把这个后面的查询,看看你收到的错误。

if (mysql_errno()) { 
    printf(mysql_error()); 
} 

此外,定期MySQL扩展是非常过时的,你可能要考虑使用PDO或至少Mysqli

+0

谢谢,这帮了很大的忙! – user2180590 2013-03-18 01:04:45

+0

不客气!如果它对您有帮助,请将我的答案标记为已接受:) – castis 2013-03-18 01:06:14

+0

要补充此答案,您还应该检查为什么您的查询返回false。 'SELECT COUNT('id')'可能是'SELECT COUNT(id)' – 2013-03-18 01:07:52

0

您遇到的问题是,如果遇到错误,PHP会为某些对象返回FALSE。首先打印或打印$结果对象,并且只有在确定其值后才继续。

使用例#1这里给出的语法:http://php.net/manual/en/function.mysql-query.php

而且,请求mysql_query已被弃用,你可能不应该使用它来的情况下,你的网站最终要升级到PHP 5