Я хочу получить количество строк в моем sql.
Первые 2 столбца таблицы выглядят так
Моя функция выглядит так
$limit=2;
$sql = "SELECT id,COUNT(*),dt,title,content FROM news ORDER BY dt DESC LIMIT " . $limit;
$stmt = $this->db->prepare($sql);
$stmt->execute();
$stmt->bind_result($id, $total, $datetime, $title, $content);
$stmt->store_result();
$count = $stmt->num_rows;
if ($count > 0) {
while ($stmt->fetch()) {
Внутри цикла, я получаю точное значение $total
, но MySQL выбирает только 1 строку - строку с идентификатором номер 1. (и $count
тоже 1)
попробовал этот sql
SELECT id,dt,title,content FROM news ORDER BY dt DESC LIMIT 2
Все идет хорошо.
Почему в первом случае он выбирает только 1 строку? Как я могу исправить эту проблему?
Например, в моей таблице 5 строк. Я хочу получить 2 из них со всеми полями и подсчитать все строки (в нашем случае 5) одним запросом.