Я пытаюсь подсчитать количество строк в таблице и подумал, что это был правильный способ сделать это:
$result = $db->query("SELECT COUNT(*) FROM `table`;");
$count = $result->num_rows;
Но счет всегда возвращает (int) 1
. Если я использую тот же запрос в phpMyAdmin, я получаю правильный результат. Он находится в таблице, поэтому я попытался проверить $ count [0]
, но это возвращает NULL
.
Как правильно это сделать?
Вы должны получить эту одну запись, она будет содержать результат Count()
$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];
Всегда пытайтесь выполнять ассоциативную выборку, так вы сможете легко получить желаемый результат в нескольких случаях
Вот пример
$result = $mysqli->query("SELECT COUNT(*) AS cityCount FROM myCity")
$row = $result->fetch_assoc();
echo $row['cityCount']." rows in table myCity.";
$result->close();