gpt4 book ai didi

PHP/MySQL 不返回数据库中的行数

转载 作者:行者123 更新时间:2023-11-29 04:19:23 26 4
gpt4 key购买 nike

我正在尝试为分页脚本计算数据库中的行数。我的整个脚本一直有效,直到它归结为计算行数。

这是应该计算我的行的代码[$conn 是我的数据库登录的变量集 - 它在整个代码中使用并且有效,除了这个位]。

$limit = 2;
$rows = mysql_num_rows(mysqli_query($conn, "SELECT count(*) FROM pilotOperators"));
$total=ceil($rows/$limit);

为了测试我的代码,我将此添加到页面末尾:

echo "Total:" . $total . "<br>";
echo "Rows:" . $rows . "<br>";
echo "Limit:" . $limit . "<br>";

这是从我的源代码中获取的结果:

Total:0<br>Rows:<br>Limit:2<br>

我尝试了多种变体等,但没有返回数字。


已解决:感谢两个不同的答案(显然我有两个错误)。

我的其中一行更改为:

$rows = mysqli_num_rows(mysqli_query($conn, "SELECT * FROM pilotOperators"));

现在它就像一个魅力。

感谢 Mureinik 和 EyasSH

最佳答案

这一行是你的问题:

$rows = mysql_num_rows(mysqli_query($conn, "SELECT count(*) FROM pilotOperators"));

您要求 _num_rows() ofCOUNT 查询。如果 oyu loo kat 的结果

mysqli_query($conn, "SELECT count(*) FROM pilotOoperators");

你会发现你会得到一行一列:

|----------|
| count(*) |
|----------|
| 233 | etc
|----------|

你想要的是:

$rows_result = mysqli_query($conn, "SELECT count(*) FROM pilotOoperators")->fetch_row();
$rows = $rows_result[0];

使用 COUNT 聚合查询通常总是比使用 num_rows 更好。什么时候使用 mysqli_num_rows 合适?好吧,如果您实际上将查询用于其他用途,但需要提前知道行数,那么最好不要在此处进行两个单独的查询。

关于PHP/MySQL 不返回数据库中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29956579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com