php语句让多个用户无法正常工作

I am helping in some PHP design for a friends text game and have come to a stump.

I have scheduled a cron job to call the following page / following code, which is working correctly

<?php require("connect.php"); ?>
<?php
$sql = "SELECT id, name, health FROM users";

$query = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_object($query);
while($row = mysql_fetch_object($query)) {
$id = htmlspecialchars($row->id);
$name = htmlspecialchars($row->name);
$health = htmlspecialchars($row->health);


$sql = "SELECT * FROM property WHERE living='1' AND ownerid='$id'";
$query = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_object($query);
while($row = mysql_fetch_object($query)) {
$OwnerName = htmlspecialchars($row->ownername);
$OwnerID = htmlspecialchars($row->ownerid);
$RaidPropBonus = htmlspecialchars($row->raidperc);
$RaidPropMoney = htmlspecialchars($row->raidcash);
$PropertyLvl = htmlspecialchars($row->proplvl);
$Living = htmlspecialchars($row->living);

    if($PropertyLvl == '5' && $Living == '1'){

        if($health < '100'){

            $result = mysql_query("UPDATE users SET health=$health + '1' WHERE id='$id'")
            or die(mysql_error());

        } else { }

    } else { }
}
}
?>

Although this only works for ONE user only. I cannot understand why this is. Any other logged in / out accounts that have met the criteria have been ignored. I can maybe only think I am missing a loop? As the ID that is being met first is number 1 and it has stopped there?

Anybody advice at all maybe?

UPDATE - It seems correct I need to get a loop in there, but am so far failing to get this loop working correct. No matter where I seem to amend / add a loop it does not help. Please may somebody suggest anything?

UPDATE2 - As requested, updated with the new version of loop

For what I've understood, the loops should be made on the mysql_fetch_object that will get the each row from the query.

Take a look at the snippet

<?php 
require("connect.php"); 

// here prepare the $userQuery (the one that fetches all users)

// then the first loop that will read each usew row
// AFAICT this should afect all script
while($userRow = mysql_fetch_object($userQuery)) 
{

  // prepare data fetched from the $userQuery

  // prepare the $propertyQuery (the one that fetches all properties of the user)

  // then the second loop to read all user property rows
  // and this will afect the updates
  while($propertyRow = mysql_fetch_object($propertyQuery))
  {

    // prepare data fetched from $propertyQuery

    // add logic here

  }
}
?>

Also @Matthew Carpenter had a valid point, that mysql_* is deprecated, you should consider in using mysqli_*, or in my opinion take a look at PDO