我正在执行一个例程来检查给定范围的数据库中是否存在书籍。如果找不到书,我想回声。我有以下内容:
$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";
}
}
如果没有找到书籍,则不会打印任何内容。回声不起作用?怎么会?
由于
答案 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条件中回显一些东西,看看它是否显示出来。