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

在PHP中显示SQL中的记录总数,php,sql,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 (

我试图用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");
?>

但它只是显示一条记录,而不是我数据库中的两条记录?不确定哪里出错?

您应该在SQL查询中使用,例如:

mysql> SELECT COUNT(*) as number FROM pet;
+----------+
| number   |
+----------+
|        9 |
+----------+
在您的情况下,可能是:

SELECT count(*) as number FROM newtask
您可能需要使用:

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


如果要对结果进行分页。

使用SQL
count
aggregate函数,并获取列的名称

通过
mysqli\u fetch\u数组中的alisa名称获取
计数
数字

$result = mysqli_query($link, "SELECT COUNT(id) as cnt FROM newtask");
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
printf ("TOTAL: %d\n", $row["cnt"]);
mysqli_fetch_数组不足以获取计数,因为它只获取结果集中的第一行。试试这个


printf(“总计:%d\n”,mysqli_num_行($result))

您使用此代码也会显示结果行

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

您好,谢谢,但即使我添加了更多条目,它仍然似乎只显示1个条目?您的意思是什么?它将只返回一行,其中一列名为“number”,该列应包含已计数的行数
printf ("TOTAL: %d\n", mysqli_fetch_array($result));
$result = mysqli_query($link, "SELECT id FROM newtask");
$numrows=mysqli_num_rows($result);
printf ("TOTAL: %d\n", $numrows);