我正在尝试向我的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/

10-14 15:26
查看更多