У меня есть следующий код для отображения числа, если записи в таблице всегда отображают 1, даже если я изменяю имя столбца на другое имя столбца;
Однако тот же запрос в рабочей среде отображает правильное количество записей. Смотрите скриншот;
$con = @mysqli_connect( "localhost:3306", "root", "P@ssw0rd", "classicmodels" ) or die ("Couldn't connect to server");
//get total number of records
$query = "SELECT count(checkNumber) FROM payments";
$result = mysqli_query ( $con, $query) or die ("Couldn't execute SELECT query: ". mysqli_error($con));
$rec_count = mysqli_num_rows($result);
echo $rec_count."<br>";
3 ответа
Это потому, что num_rows
отображает количество выбранных вами строк, в данном случае это только одна. Вы должны получить поле count(checkNumber)
из базы данных, которое содержит количество строк, а не функцию num_rows
.
Лучше считать это переменной, например COUNT(someField) as FieldCount
В результатах всегда будет только одна строка. Вы должны получить запись, а затем повторить $ record ['count (checkNumber)']. (Псевдонимы сделают индексацию более интуитивной).
Вы используете функцию подсчета в запросе, и она даст ответ в одной строке. чтобы получить правильный ответ, вы можете удалить count () и оставить остальную часть кода без изменений. См. Следующий код.
$con = @mysqli_connect( "localhost:3306", "root", "P@ssw0rd", "classicmodels" ) or die ("Couldn't connect to server");
//get total number of records
//I have Removed COUNT() from query
$query = "SELECT checkNumber FROM payments";
$result = mysqli_query ( $con, $query) or die ("Couldn't execute SELECT query: ". mysqli_error($con));
$rec_count = mysqli_num_rows($result);
echo $rec_count."<br>";
ИЛИ
Вы можете использовать функцию count () и получить правильный ответ следующим образом.
$con = @mysqli_connect( "localhost:3306", "root", "P@ssw0rd", "classicmodels" ) or die ("Couldn't connect to server");
//get total number of records
$query = "SELECT count(checkNumber) FROM payments";
$result = mysqli_query ( $con, $query) or die ("Couldn't execute SELECT query: ". mysqli_error($con));
while($rec_row = mysqli_fetch_row($result))
{
$rec_count=$rec_row['count(checkNumber)'];
}
echo $rec_count."<br>";
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.