当数据库没有值时,我怎么能显示“没有项目”。我的代码在哪里?我应该在哪里放else{ echo 'No item';}
if ($stmt = mysqli_prepare($link, "SELECT id,name,price,image FROM product Limit ?,8")) {
mysqli_stmt_bind_param($stmt, "s", $page_1);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt,$ids,$title,$prc,$image);
while (mysqli_stmt_fetch($stmt)) {
$id = $ids;
$pst_title = $title;
$price = $prc;
$pst_image = $image;
$price = number_format($price, 2);
echo ' <article>';
echo " <img src='admin/gem/$pst_image' alt='images'></td>";
echo " <h3>$pst_title</h3>";
echo " <h4>$.$price</h4>";
echo " <a href='gem.php?id={$id}' class='btn-add'>View more</a>";
echo ' </article>';
}
}
答案 0 :(得分:1)
您可以通过访问num_rows
属性来检查查询返回的行数。但是,要保持正确的值,您需要先使用mysqli_stmt_store_result()
存储结果。请参阅下面的修订代码,并添加评论。
if ($stmt = mysqli_prepare($link, "SELECT id,name,price,image FROM product Limit ?,8")) {
mysqli_stmt_bind_param($stmt, "s", $page_1);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt,$ids,$title,$prc,$image);
mysqli_stmt_store_result($stmt); // Store the result into memory
if (mysqli_stmt_num_rows($stmt)) { // Check the number of rows returned
while (mysqli_stmt_fetch($stmt)) {
$id = $ids;
$pst_title = $title;
$price = $prc;
$pst_image = $image;
$price = number_format($price, 2);
echo ' <article>';
echo " <img src='admin/gem/$pst_image' alt='images'></td>";
echo " <h3>$pst_title</h3>";
echo " <h4>$.$price</h4>";
echo " <a href='gem.php?id={$id}' class='btn-add'>View more</a>";
echo ' </article>';
}
} else {
echo 'No item';
}
}
答案 1 :(得分:1)
这将是一种更好的做事方式:http://php.net/manual/ro/mysqli-result.fetch-array.php
if ($stmt = mysqli_prepare($link, "SELECT id,name,price,image FROM product Limit ?,8")) {
mysqli_stmt_bind_param($stmt, "s", $page_1);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);//thanks to Qirel
mysqli_stmt_bind_result($stmt,$ids,$title,$prc,$image);
if(mysqli_stmt_num_rows($stmt)>0){
while (mysqli_stmt_fetch($stmt)) {
$id = $ids;
$pst_title = $title;
$price = $prc;
$pst_image = $image;
$price = number_format($price, 2);
echo ' <article>';
echo " <img src='admin/gem/$pst_image' alt='images'></td>";
echo " <h3>$pst_title</h3>";
echo " <h4>$.$price</h4>";
echo " <a href='gem.php?id={$id}' class='btn-add'>View more</a>";
echo ' </article>';
}
}else{
echo 'No item';
}
}