【发布时间】:2020-10-27 02:57:33
【问题描述】:
view_products() 下面仅显示我的表 product 中的一个数据,其中包含 20 个数据。根据您将return $output; 放置在显示第一个数据的while loop 内部或显示最后一个数据的while loop 外部的位置。
<?php echo view_products(); ?>
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "password@edadmin";
$dbname = "estore";
$dbconn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
//Test if connection occurred,
if (mysqli_connect_errno()) {
die("Database connection failed: " .
mysqli_connect_error() .
" (" . mysqli_connect_errno() . ")");
}
function view_products()
{
global $dbconn;
$sql = "SELECT * FROM product";
$result = mysqli_query($dbconn, $sql);
if (mysqli_num_rows($result) > 0) {
while ($products = mysqli_fetch_assoc($result)) {
$output = "<div class=\"col-lg-4 col-md-6 portfolio-item filter-app wow fadeInUp\">";
$output .= "<div class=\"portfolio-wrap\"><figure>";
$output .= "<img src=" . $products['ProductImage'] . " class=\"img-fluid\" alt=\"\">";
$output .= "<a href=" . $products['ProductImage'] . " data-lightbox=\"portfolio\" data-title=\"App 1\" class=\"link-preview\" title=\"Preview\"><i class=\"ion ion-eye\"></i></a>";
$output .= "</figure>";
$output .= " <div class=\"portfolio-info\">";
$output .= "<p><a href=\"#\">" . $products['ProductName'] . " </a></p>";
$output .= "<p>" . "₦ " . $products['ProductAmount'] . "</p>";
$output .= "</div></div></div>";
return $output;
}
} else {
return "No product yet";
} // return $output;
}
【问题讨论】:
-
您有问题吗?
-
注意:object-oriented interface to
mysqli明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql_query接口混淆,因为缺少单个i会导致麻烦。示例:$db = new mysqli(…)和$db->prepare("…")过程接口是 PHP 4 时代的产物,不应在新代码中使用。此外,程序界面的错误检查和报告不那么严格,使调试工作受挫。 -
提示:enabling exceptions in
mysqli可以检测和解决很多问题,因此不会轻易忽略由简单错误引起的错误。毫无例外,您必须密切注意返回值,其中许多表明您必须解决或向用户报告的问题。异常允许更复杂的流控制,因为它们可以“冒泡”到代码的其他部分,以便更方便地处理它们。 -
对,我在这里和@Strawberry 在一起。我将这个问题投票为“不清楚”。我想其他人已经这样投票了,对吧?一点点沟通就大有帮助。