我正在尝试显示我在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");
?>
但是它只是显示一个记录,而不是我数据库中实际包含的两个记录?不确定我要去哪里错了吗?
答案 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);