【发布时间】:2019-09-21 05:01:04
【问题描述】:
我正在使用 PHP 和 MySQL 数据库来构建网站。
然而,与我之前学过的其他语言相比,我发现 PHP 相当糟糕。主要是因为我似乎在网上找到了很多超过 5 年的说明,但它们根本不起作用。
例如这里接受的答案:select count(*) from table of mysql in php
到目前为止,我有这段代码,但它给了我错误(未定义的索引 $recordCount = $row['totalEntries'];)。
// create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// check connection
if ($conn->connect_error) {
die("connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM games ORDER BY id DESC LIMIT $startRow, $rowsPerPage";
$result = $conn->query($sql);
$sql = "SELECT COUNT(*) as totalEntries FROM games";
$results = $conn->query($sql);
$row = $result->fetch_assoc();
$recordCount = $row['totalEntries'];
echo "<br/> record count = " . $recordCount;
$totalPages = ceil($recordCount / $rowsPerPage);
$pagination = "<div class='pagination'>";
for ($i = 0; $i <= $totalPages; $i++) {
$pagination .= "<a href='index.php?page=" . $i . "'>" . $i . "</a>";
echo 'wtf!';
}
$pagination .= "</div>";
echo ' <br/> pagination = ' . $pagination;
我也试过了:
$recordCount = Count($row);
和
$recordCount = Count($result->num_rows);
还有许多其他参数传递给 Count,但它们总是返回 1 或 7(这是 COLUMNS 的数量)
我想我发现 PHP 很难学,因为我没有一个好的 IDE 并且正在使用 Notepad++。谁能告诉我在完成上述代码中的 SELECT 语句后,我们如何获得表中所有条目的计数?
【问题讨论】:
-
提示:运行查询时,请检查错误。此类做法与您使用的语言无关。
-
好的,我已经多次更改了 SELECT 措辞,现在在代码中变得相当混乱。我还不得不更改连接和查询的方式,因为许多教程都是错误的。这可能就是我有错误的原因。我试过关注 w3 文档,但仍然找不到。那么你知道导致数组长度计数错误的错误究竟是什么(即始终为1)
-
运行查询的方法以及基本上我在 PHP 中看到的所有内容都非常不雅,礼貌地说,我很难以任何有意义的方式调试错误
-
如果你
print_r($row);在 fetch 之后会显示什么? -
这看起来像是您的第一个查询的结果,而不是您想要计算条目数的第二个查询的结果。完全注释掉你的第一个查询,留下我建议的
print_r,看看你得到了什么。
标签: php mysql sql pagination