为什么没有找到结果,我的回声不起作用?

时间:2014-04-06 14:39:48

标签: php while-loop echo

我正在执行一个例程来检查给定范围的数据库中是否存在书籍。如果找不到书,我想回声。我有以下内容:

$search = mysqli_query($con,$query);

while(list($book_id, $title, $authors, $description, $price) = mysqli_fetch_row($search)){

if(!empty($book_id)) {

echo "Book ID: " . $book_id . "<br/>";
echo "Book Title: " . $title . "<br/>";
echo "Authors: " . $authors . "<br/>";
echo "Description: " . $description . "<br/>";
echo "Price: " . $price . "<br/>";
echo "<br/>";

}

if(empty($book_id)){
    echo "Fail";
    }
}

如果没有找到书籍,则不会打印任何内容。回声不起作用?怎么会?

由于

3 个答案:

答案 0 :(得分:2)

因为如果没有返回任何记录,你根本不会输入,因为$ book_is将包含值false和while(false)...你知道

在这种情况下,您可以使用mysqli_num_rows检查是否找到了行

答案 1 :(得分:1)

你的无结果echo在while循环中,永远不会被调用

while (list($book_id, $title, $authors, $description, $price) = mysqli_fetch_row($search)) {

  if (!empty($book_id)) {
    echo "Book ID: " . $book_id . "<br/>";
    echo "Book Title: " . $title . "<br/>";
    echo "Authors: " . $authors . "<br/>";
    echo "Description: " . $description . "<br/>";
    echo "Price: " . $price . "<br/>";
    echo "<br/>";
  }

}

if (empty($book_id)) {
  echo "Fail";
}

将其移到外面,就像上面的代码一样

答案 2 :(得分:0)

这是因为你的while循环根本没有被访问过。尝试从if条件中回显一些东西,看看它是否显示出来。