在PHP中显示SQL中的记录总数

时间:2018-09-24 07:49:26

标签: php sql

我正在尝试显示我在PHP数据库中拥有的记录数 这是我目前的代码

<?php
$link = mysqli_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
mysqli_select_db($link,'tasks_db');

$result = mysqli_query($link, "SELECT id FROM newtask");
printf ("TOTAL: %d\n", mysqli_fetch_array($result));
mysqli_query($link, "COMMIT");
?>

但是它只是显示一个记录,而不是我数据库中实际包含的两个记录?不确定我要去哪里错了吗?

5 个答案:

答案 0 :(得分:2)

您可以在SQL查询中使用COUNT(),例如:

mysql> SELECT COUNT(*) as number FROM pet;
+----------+
| number   |
+----------+
|        9 |
+----------+

在您的情况下,可能是:

SELECT count(*) as number FROM newtask

答案 1 :(得分:2)

使用SQL count聚合函数,并为列获取别名。

通过count中的别名(Alisa)获得mysqli_fetch_array号。

$result = mysqli_query($link, "SELECT COUNT(id) as cnt FROM newtask");
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
printf ("TOTAL: %d\n", $row["cnt"]);

答案 2 :(得分:1)

您可能要使用:

SELECT count(id) as `total` FROM `newtask`

SELECT SQL_CALC_FOUND_ROWS * FROM `newtask` LIMIT 0, 10;

如果您想对结果进行分页。

答案 3 :(得分:0)

while counter<5:
    try:
        webdriver = webdriver.Firefox(firefox_profile=profile, log_path=logfile) 
        break
    except WebDriverException:
        counter +=1

mysqli_fetch_array不足以获取计数,因为它仅获取结果集的第一行。试试这个

printf ("TOTAL: %d\n", mysqli_fetch_array($result));

答案 4 :(得分:0)

您使用此代码还将行显示为结果。

$result = mysqli_query($link, "SELECT id FROM newtask");
$numrows=mysqli_num_rows($result);
printf ("TOTAL: %d\n", $numrows);