Запрос в базу в которой нет запискй mysql
Имеется таблица ( в 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;
Практика получения разных типов данных из метода - не очень хорошая. Потому что "снаружи" нам потом может понадобиться проверять, какой тип данных вернулся и другие мелочи, которые потом могут вылезти в баги. Лучше, разбивать методы на несколько (по их назначению), либо, возвращать пустой массив (как сейчас и написано).