MySQLi count (*) всегда возвращает 1

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

$result = $db->query("SELECT COUNT(*) FROM `table`;");
$count = $result->num_rows;

Но счет всегда возвращает (int) 1 . Если я использую тот же запрос в phpMyAdmin, я получаю правильный результат. Он находится в таблице, поэтому я попытался проверить $ count [0] , но это возвращает NULL .

Как правильно это сделать?

36
задан Lode 31 August 2010 в 20:43
поделиться

2 ответа

Вы должны получить эту одну запись, она будет содержать результат Count()

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];
90
ответ дан 27 November 2019 в 05:25
поделиться

Всегда пытайтесь выполнять ассоциативную выборку, так вы сможете легко получить желаемый результат в нескольких случаях

Вот пример

$result = $mysqli->query("SELECT COUNT(*) AS cityCount FROM myCity")
$row = $result->fetch_assoc();
echo $row['cityCount']." rows in table myCity.";

$result->close();
6
ответ дан 27 November 2019 в 05:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: