I am using this code, but I don't understand how to check if the query returns zero rows. How can I check that?
我正在使用此代码,但我不明白如何检查查询是否返回零行。我怎么检查?
$results = $mysqli->query("SELECT ANNOUNCE_NUMBER,ANNOUNCEMENTS,ANNOUNCE_TYPE,POST_DATE FROM home WHERE ANNOUNCE_NUMBER NOT LIKE $excludewelcome AND ANNOUNCE_NUMBER NOT LIKE $excludenews ORDER BY ANNOUNCE_NUMBER DESC LIMIT $position, $items_per_group");
if ($results) {
//output results from database
while($obj = $results->fetch_object())
{
if($obj->ANNOUNCE_TYPE=='NEWSEVENTS')
{
$realstring='News and Events';
}
else
{
$realstring='Welcome Note';
}
echo '<li id="item_'.$obj->ANNOUNCE_NUMBER.'"><strong>'.$realstring.'</strong></span>';
echo '<br \>';
echo '('.$obj->POST_DATE.' ) <span class="page_message">'.$obj->ANNOUNCEMENTS.'</span></li>';
}
}
2 个解决方案
#1
25
You can use the num_rows
on the dataset to check the number of rows returned. Example:
您可以使用数据集上的num_rows来检查返回的行数。例:
$results = $mysqli->query("SELECT ANNOUNCE_NUMBER,ANNOUNCEMENTS,ANNOUNCE_TYPE,POST_DATE FROM home WHERE ANNOUNCE_NUMBER NOT LIKE $excludewelcome AND ANNOUNCE_NUMBER NOT LIKE $excludenews ORDER BY ANNOUNCE_NUMBER DESC LIMIT $position, $items_per_group");
if ($results) {
if($results->num_rows === 0)
{
echo 'No results';
}
else
{
//output results from database
while($obj = $results->fetch_object())
{
if($obj->ANNOUNCE_TYPE=='NEWSEVENTS')
{
$realstring='News and Events';
}
else
{
$realstring='Welcome Note';
}
echo '<li id="item_'.$obj->ANNOUNCE_NUMBER.'"><strong>'.$realstring.'</strong></span>';
echo '<br \>';
echo '('.$obj->POST_DATE.' ) <span class="page_message">'.$obj->ANNOUNCEMENTS.'</span></li>';
}
}
}
#2
0
if array is look like this [null] or [null, null] or [null, null, null, ...]
如果数组看起来像这样[null]或[null,null]或[null,null,null,...]
you can use implode:
你可以使用implode:
implode is use for convert array to string.
implode用于将数组转换为字符串。
$con = mysqli_connect("localhost","my_user","my_password","my_db");
$result = mysqli_query($con,'Select * From table1');
$row = mysqli_fetch_row($result);
if(implode(null,$row) == null){
//$row is empty
}else{
//$row has some value rather than null
}
#1
25
You can use the num_rows
on the dataset to check the number of rows returned. Example:
您可以使用数据集上的num_rows来检查返回的行数。例:
$results = $mysqli->query("SELECT ANNOUNCE_NUMBER,ANNOUNCEMENTS,ANNOUNCE_TYPE,POST_DATE FROM home WHERE ANNOUNCE_NUMBER NOT LIKE $excludewelcome AND ANNOUNCE_NUMBER NOT LIKE $excludenews ORDER BY ANNOUNCE_NUMBER DESC LIMIT $position, $items_per_group");
if ($results) {
if($results->num_rows === 0)
{
echo 'No results';
}
else
{
//output results from database
while($obj = $results->fetch_object())
{
if($obj->ANNOUNCE_TYPE=='NEWSEVENTS')
{
$realstring='News and Events';
}
else
{
$realstring='Welcome Note';
}
echo '<li id="item_'.$obj->ANNOUNCE_NUMBER.'"><strong>'.$realstring.'</strong></span>';
echo '<br \>';
echo '('.$obj->POST_DATE.' ) <span class="page_message">'.$obj->ANNOUNCEMENTS.'</span></li>';
}
}
}
#2
0
if array is look like this [null] or [null, null] or [null, null, null, ...]
如果数组看起来像这样[null]或[null,null]或[null,null,null,...]
you can use implode:
你可以使用implode:
implode is use for convert array to string.
implode用于将数组转换为字符串。
$con = mysqli_connect("localhost","my_user","my_password","my_db");
$result = mysqli_query($con,'Select * From table1');
$row = mysqli_fetch_row($result);
if(implode(null,$row) == null){
//$row is empty
}else{
//$row has some value rather than null
}