MySQL подсчитывает в переменную PHP - PullRequest
5 голосов
/ 28 апреля 2009

Допустим, у нас есть следующий запрос:

SELECT DISTINCT COUNT(`users_id`) FROM `users_table`;

этот запрос вернет количество пользователей из таблицы. Мне нужно передать это значение в переменную PHP. Я использую это:

$sql_result = mysql_query($the_query_from_above) or die(mysql_error());

if($sql_result)
{
    $nr_of_users = mysql_fetch_array($sql_result);
}
else
{
    $nr_of_users = 0;
}

пожалуйста, исправьте мой код там, где вы считаете это необходимым.

Какой самый лучший подход. Как вы рекомендуете это сделать?

Ответы [ 2 ]

24 голосов
/ 28 апреля 2009

Как это:

// Changed the query - there's no need for DISTINCT
// and aliased the count as "num"
$data = mysql_query('SELECT COUNT(`users_id`) AS num FROM `users_table`') or die(mysql_error());

// A COUNT query will always return 1 row
// (unless it fails, in which case we die above)
// Use fetch_assoc for a nice associative array - much easier to use
$row = mysql_fetch_assoc($data);

// Get the number of uses from the array
// 'num' is what we aliased the column as above
$numUsers = $row['num'];
3 голосов
/ 28 апреля 2009

Также есть альтернатива с использованием mysqli, которую вы должны использовать в любом случае для интерполяции параметров:

$statement = $connection->prepare($the_query_from_above);
$statement->execute();
$statement->bind_result($nr_of_users);
$statement->fetch();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...