使用 MySQL 数据库中的数据创建列表

Creating a list using data from MySQL database

我正在尝试创建一个从 MySQL 数据库获取数据并显示在网站屏幕上的基本产品列表。

我目前有以下代码,但仍需要一些工作,它目前仅显示名称和类别以及错误消息 saying:Warning:printf():C:\xampp\htdocs\ICTDBS504\list 中的参数太少items.php 第 41 行 () ()

我还需要添加一张照片,但我不确定代码中的方式和位置。照片应该分开 html 还是保存在数据库中?如果在数据库中,如何将其写入 php 代码

<?php
    $mysqli = new mysqli("localhost", "root", "", "etrading");

    /* check connection */
    if ($mysqli->connect_errno) {
        printf("Connect failed: %s\n", $mysqli->connect_error);
        exit();
    }

    $query = "SELECT Name, Category, Price, Duration, Photo FROM item ORDER by ItemID LIMIT 3";
    $result = $mysqli->query($query);

    /* numeric array */
    $row = $result->fetch_array(MYSQLI_NUM);
    printf ("%s (%s)\n", $row[0], $row[1]);

    /* associative array */
    $row = $result->fetch_array(MYSQLI_ASSOC);
    printf ("%s (%s) (%s)\n", $row["Name"], $row["Category"]);

    /* associative and numeric array */
    $row = $result->fetch_array(MYSQLI_BOTH);
    printf ("%s (%s) (%s)\n", $row[0], $row["Price"], $row["Duration"]);

    /* free result set */
    $result->free();

    /* close connection */
    $mysqli->close();
?>

在这部分代码中,您在 printf():

中键入了更多参数
    /* associative array */
    $row = $result->fetch_array(MYSQLI_ASSOC);
    printf ("%s (%s) (%s)\n", $row["Name"], $row["Category"]);

Printf 有 3 个参数,但您只输入了 2 个:$row["Name"]$row["Category"].

要解决错误,您必须修正参数或再添加 1 个数据。