2012-06-06 36 views
0

可能重复:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given inmysql_result()预计参数1是资源,鉴于布尔

我觉得标题所说的一切。

这里是我的代码:

function user_count(){ 
    $query = "SELECT COUNT * FROM users WHERE active = 1"; 
    $result = mysql_query($query); 
    return mysql_result($result, 0); 
} 

使用此功能。我试图让数据库中的所有用户都是“活跃”的用户...... db连接和那些东西都可以。

+2

请停止使用古老的MySQL扩展编写新代码:它不再被维护,社区已经开始[弃用过程](http://news.php.net/php.internals/53799);您可以使用改进的[MySQLi](http://php.net/mysqli)扩展或[PDO](http://php.net/pdo)抽象层。 – eggyal

回答

0
function user_count(){ 
    $query = "SELECT COUNT(user_id) FROM `users` WHERE `active` = 1"; 
    $result = mysql_query($query) or die($query."<br/><br/>".mysql_error()); 
    return mysql_result($result, 0); 
} 

这是有效的。

1

您的查询是错误的。尝试用下面的代码替换

$query = "SELECT COUNT(*) FROM users WHERE active = 1"; 

您应该执行一些mysql错误处理来避免此类警告。

建议:最好使用PDO谈谈你的数据库

1

在MySQL的计数功能,所以你应该使用COUNT(*),而不是COUNT *

你也应该考虑跟踪误差具有mysql_error等函数,当mysql_query函数返回false而不是资源时

另外,常见的一面请注意:考虑切换到PDO

相关问题