Потому что вы всегда запрашиваете.Каждый раз, когда вы вызываете #sqlGetRows, вы выполняете запрос снова, и поэтому вы всегда получаете первую строку из запроса при каждом его вызове.
Что вы можете сделать, например:
public function sqlQuery($sql) {
$this->lastQuery = $this->mysqli->query($sql);
}
public function sqlGetRow() {
$this->lastQuery->fetch_object();
}