Для проверки наличия записей в результате выполнения запроса в PHP без использования функции `num_rows`, можно использовать функцию `fetch_array` или `fetch_assoc` для получения данных из результата запроса и проверять их наличие.
Пример:
```php
$query = "SELECT * FROM users WHERE username = 'test'";
$result = mysqli_query($con, $query);
if ($result->fetch_assoc()) {
// записи есть
} else {
// записей нет
}
```
Для улучшения запроса и проверки наличия записи пользователя и его статуса блокировки в БД без указания жестко заданного количества записей в функции `mysqli_num_rows`, можно использовать операторы `COUNT` и `HAVING` в SQL запросе.
Пример:
```php
$username = 'test';
$status = 'active';
$query = "SELECT COUNT(*) as count FROM users WHERE username = '$username' AND status = '$status' HAVING count > 0";
$result = mysqli_query($con, $query);
if ($result->fetch_assoc()) {
// запись пользователя с указанным статусом существует
} else {
// запись пользователя не существует или его статус не соответствует требуемому
}
```
Таким образом, можно убрать жестко заданное количество записей и проверить наличие только нужной записи в результате выполнения запроса.