如果查询为空,如何添加另一个错误消息?我尝试了mysqli_num_rows
,但没有成功。 :/
$que = new mysqli($host, $db_user, $db_password, $db_name);
$tbl = $que->query
("
SELECT iditem, nazwa
FROM `idlist2`
WHERE nazwa LIKE '%$name%'
");
while($value=$tbl->fetch_assoc())
{
if(strlen($name) == 0 || strlen($name) == NULL)
{
echo '<font color="green">!</font>';
break;
}
echo $value['iditem'] . $value['nazwa'] . "<br>";
}
答案 0 :(得分:0)
这里是一种方法:
while($value=$tbl->fetch_assoc())
{
$notempty = true; // set a variable if you fetch anything
if(strlen($name) == 0 || strlen($name) == NULL)
{
echo '<font color="green">!</font>';
break;
}
echo $value['iditem'] . $value['nazwa'] . "<br>";
}
if (!isset($notempty)) {
echo 'other error message'; // show the other message if it isn't set
}
答案 1 :(得分:0)
您实际上是在以错误的方式进行此操作。当您以程序方式进行查询时,将使用mysqli_num_rows
。
在代码示例中,您通过调用new mysqli()
创建了一个新对象。要获取使用OOP构造时获取的行数,您应该获取num_rows
属性的值。
这就是解决方法:
if ($tbl->num_rows > 0) {
while($value=$tbl->fetch_assoc())
{
if(strlen($name) == 0 || strlen($name) == NULL)
{
echo '<font color="green">!</font>';
break;
}
echo $value['iditem'] . $value['nazwa'] . "<br>";
}
} else {
echo "No result found";
}
$que->close();