Запрос в базу в которой нет запискй mysql

Рейтинг: 0Ответов: 1Опубликовано: 05.03.2023

Имеется таблица ( в mysql )в которой новый пользователь ещё не сделал записи. В базе записей нет. Как сделать чтоб в переменной был 0 (ноль)? не выводит ничего. .. не существование

    $db = db();
        $query = mysqli_query($db, "SELECT * FROM asset 
        ");
        while($res = $query->fetch_array()){
            echo $rs = $res['asset_sum'];
            if(empty($rs)){
                echo 'null';
            }
            if($rs == null){
                echo 'null';
            }
            
        }

Ответы

▲ 1Принят

Если вы хотите получать только количество строк, которое было найдено на пользователя, то можете воспользоваться таким подходом:

$db = db();
$query = mysqli_query($db, "SELECT * FROM asset");
return $query->num_rows;

А если вам нужно ещё возвращать полученную информацию, то можно это делать так:

$db = db();
$query = mysqli_query($db, "SELECT * FROM asset");
$result = [];
if(!$query->num_rows)
{
    return $result;
}
while($res = $query->fetch_assoc())
{
    $result = $res;
    // $result[] = $res; // В том случае, если получаем коллекцию данных
}
return $result;

Практика получения разных типов данных из метода - не очень хорошая. Потому что "снаружи" нам потом может понадобиться проверять, какой тип данных вернулся и другие мелочи, которые потом могут вылезти в баги. Лучше, разбивать методы на несколько (по их назначению), либо, возвращать пустой массив (как сейчас и написано).