<?php
$queryuser = "SELECT id, email, firstname, lastname, address, city, country FROM users WHERE role = 'client'";
$resultuser = $connection->query($queryuser);
if ($resultuser->num_rows > 0)
{
// output data of each row
while ($rowuser = $resultuser->fetch_assoc())
{
$id_user = $rowuser['id'];
$firstname = $rowuser['firstname'];
$lasttname = $rowuser['lastname'];
$email = $rowuser['email'];
$phone = $rowuser['phone'];
$city = $rowuser['city'];
$state = $rowuser['state'];
$address = $rowuser['address'];
?>
Perhaps you've copied code from this page https://www.w3schools.com/php/php_mysql_select.asp
$connection
variable in your code (may be it is a intentional approach for security).num_rows
property from the object $resultuser
but in this query $resultuser
is not a object due to any error/faults of your query because query() returns FALSE on failure and object on success.