我正在尝试向我的MySQL结果页添加分页。我目前的目标是将列($items_number
)中的结果数除以10,因为我希望每页($per_page = 10
)有10个结果。
我不得不将$items
转换为数组,因为它不能作为字符串读取,所以现在有了$items_number = mysqli_fetch_row($items)
;
当我在代码中回显此内容以查看列中的项目数时,我收到一条消息,内容为:
Notice: Array to string conversion in /home/ikb2014/public_html/test/classic_cars/pag_test.php on line 46
但是它也仍然返回一个表示“ Array”的值。如何获取该值来报告列中的项目数而不是单词“ Array”?
码:
<?php
require_once("./includes/database_connection.php");
error_reporting(E_ALL);
ini_set('display_errors', 1);
$per_page = 10;
$query = "SELECT productCode, productName, productLine, productScale, productVendor, productDescription, buyPrice FROM products WHERE `productLine` = 'Classic Cars'";
$result = mysqli_query($dbc, $query)
or die(mysqli_error($dbc));
$query_count = "SELECT count(productLine) FROM products WHERE `productLine` = 'Classic Cars'";
$items = mysqli_query($dbc, $query_count)
or die(mysqli_error($dbc));
$items_number = mysqli_fetch_row($items);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Home</title>
<link type="text/css" rel="stylesheet" href="classic_cars.css" />
</head>
<body>
<?php
require_once("./includes/navigation.php");
?>
<?php
while ($row = mysqli_fetch_array($result)) {
$product_code = $row['productCode'];
$product_name = $row['productName'];
$product_line = $row['productLine'];
$product_vendor = $row['productVendor'];
$product_description = $row['productDescription'];
$buy_price = $row['buyPrice'];
echo "<tr>
<td><p>$product_name</p></td>
<td><p>$items_number</p></td>
</tr>";
} // end while ($row = mysqli_fetch_array($result))
?>
<?php
require_once("./includes/footer.php");
?>
</body>
</html>
最佳答案
从PHP文档:
mysqli_result :: fetch_row-mysqli_fetch_row —将结果行作为
枚举数组
从结果集中获取一行数据,并将其作为
枚举数组,其中每列存储在一个数组偏移量中
从0(零)开始
我将针对您的问题发布2个解决方案:
首先是使用
mysqli_fetch_row
与COUNT功能(如您的代码):
$row = mysqli_fetch_row($items);
$items_number = $row[0];
其次是删除COUNT FUNCTION并使用
mysqli_num_rows
像这样
$query_count = "SELECT productLine FROM products WHERE `productLine` = 'Classic Cars'";
$items = mysqli_query($dbc, $query_count)
or die(mysqli_error($dbc));
$items_number = mysqli_num_rows($items);
关于php - 为什么“SELECT count()”返回“数组”的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30900200/