отображать значение запроса в lable в теле html - PullRequest
0 голосов
/ 21 мая 2018

Я хочу отобразить мой результат запроса в lable, но в html теле.я посчитал записи и хочу отобразить результат подсчета в lable.

вот мой код

<div class="huge" >
<label class="pull-right" >
<?php
  $mysqli = new mysqli("localhost","root", "", "db1");
  $query = $mysqli->prepare("SELECT COUNT(*) FROM tbl1");
  $query->execute();
  $query->store_result();
  $rows = $query->num_rows;
  echo $rows;
?>
</label>
</div>

он возвращает значение 1, тогда как таблица пуста.

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

вы смешиваете два подхода.

Если вы сделаете

SELECT COUNT (*) FROM tbl1

, он вернет одно значение, равное количеству записей.Поэтому вам просто нужно прочитать массив 1 * 1, и вы получите результат:

$rows = mysqli_fetch_array($query);
echo $rows[0];

Если вы сделаете

SELECT * FROM tbl1

, он вернет полный набор записей из tbl1 (Вы можете выбрать несколько полей, конечно).В этом случае, чтобы получить количество записей, которое вам нужно сделать

$rows = $query->num_rows;

, что не нужно в предыдущем варианте.

Если ваша цель просто узнать номер, перейдите к варианту 1Если вы хотите узнать номер, а также использовать записи, перейдите к варианту 2, поскольку вы получите обе вещи всего одним запросом

0 голосов
/ 21 мая 2018

Даже если ваша таблица пуста, она вернет строку со значением 0. Вы делаете количество строк, поэтому она всегда возвращает 1.

Вместо этого вы должны выбрать все и подсчитать результаты.(это одно из решений).

"SELECT COUNT(*) FROM tbl1";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...