mysql_result () ожидает, что параметр 1 будет ресурсом, логическое значение задано [duplicate]

Possible Duplicate:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

Я думаю, что название говорит обо всем.

Вот мой код:

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

С этой функцией. Я пытаюсь получить всех пользователей из базы данных, которые являются "активными" ... Все в порядке с подключением БД и тому подобное.

 eggyal06 июн. 2012 г., 12:51
Пожалуйста, прекратите писать новый код с древним расширением MySQL: оно больше не поддерживается, и сообщество началоdeprecation process; Вы можете использовать вместо этого либо улучшенныйMySQLi расширение илиPDO слой абстракции.

Ответы на вопрос(3)

Ваш запрос неверен. Попробуйте заменить на ниже один

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

Вы должны реализовать некоторую обработку ошибок mysql, чтобы избежать подобных предупреждений.

Предложение: лучше использоватьPDO говорить свою базу данных

Решение Вопроса
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);
}

Это работает.

В MySQL счетчик является функцией, поэтому вы должны использоватьCOUNT(*) и неCOUNT *

Вы также должны учитывать ошибки отслеживания с такими функциями, какmysql_error когда функция mysql_query возвращает false, а не ресурс

также примечание об общей стороне: подумайте о переходе на PDO

Ваш ответ на вопрос