【发布时间】:2017-12-10 00:41:57
【问题描述】:
我正在尝试创建一个基本的产品列表,该列表从 MySQL 数据库中获取数据并显示在网站的屏幕上。
我目前有以下代码,但仍需要一些工作,它目前只显示名称和类别,并显示错误消息:警告: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 的占位符,只有两个参数,所以这就是它抛出错误的原因。
-
行
printf ("%s (%s) (%s)\n", $row["Name"], $row["Category"]);想要三个字段,只有2个。 -
对于图像部分:将图像保存在网络服务器上的文件夹中。然后只需将图片的名称保存在您的数据库中。之后,您可以简单地从数据库中获取名称,并将其添加到
echo'<img src="some/folders/'.$row["picturename"].'">';之类的内容中 -
我认为我和@NigelRen 提到了您可以获得的帮助。您必须自己编写其余代码。
标签: php mysql database list display