если пустой запрос показывает сообщения в php [дубликат]
На этот вопрос уже есть ответ здесь:
Мне нужна небольшая помощь с моим кодом.
Я хочу показать сообщение, когда таблица пуста.
Мой код -
function category()
{
global $config,$db,$lang;
$result = "SELECT id, name FROM category ORDER BY id";
$stmt = $db->prepare($result);
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$tpl=parse_tpl('category.php');
$tpl=str_replace("{_HTTP_SERVER_}",$config['http_server'],$tpl);
$tpl=str_replace("{cat_id}",$row['id'],$tpl);
$tpl=str_replace("{cat_title}",kill_tags($row['name']),$tpl);
echo $tpl;
}
if(empty($row)) echo $lang['category_not'];
}
Когда ни одна запись в таблице не показывает это сообщение
$lang['category_not']
Я попробовал с if(empty($row)) , if (!$row) и if($row == o) но ничего не вышло.
1 ответ:
Вы должны использовать свой код следующим образом:
if($stmt->rowCount() == 0) { echo "nothing found message"; } else { while($row = $stmt->fetch(PDO::FETCH_ASSOC) { // code for loop } }// else ends here
Comments