ciao a tutti,
stavo facendo una classe che estende mysqli
e nell'implementazione del metodo che dovrebbe fare da wrapper a mysqli_result_fetch_assoc()
ho un comportamento sbagliato che non riesco a correggere.
riducendo all'osso il codice ecco quello che ho scritto.
codice:
<?

class db extends mysqli
{
	public $result;
	public $db_row;
	public $sql;
	
[...]
	public function db_query()
	{
		if($this->sql == "")
			die("Stringa SQL vuota!");
		$this->result = parent::query(parent::real_escape_string($this->sql));
		if($this->result === FALSE)
		{
			die('Errore nella query '.msqli_error());
			return false;
		}
		else
			return true;
	}
	
	public function db_fetch()
	{

		$this->db_row = $this->result->fetch_assoc();
	}
	
}
?>
se lo utilizzo in maniera ortodossa e cioè così, non funziona
codice:
$ldb = new db;
$ldb->sql = "SELECT * FROM usrusers;";
$ldb->db_query();
while($ldb->db_fetch())
	echo "

".$ldb->db_row['usrlogin']." - ".$ldb->db_row['usrpwd']." - ".$ldb->db_row['usrlabel']."</p>";
se lo utilizzo così e cioè senza usare il mio metodo di db_fetch() invece funziona
codice:
$ldb = new db;
$ldb->sql = "SELECT * FROM usrusers;";
$ldb->db_query();
while($row = $ldb->result->fetch_assoc())
echo "

".$row['usrlogin']." - ".$row['usrpwd']." - ".$row['usrlabel']."</p>";
sulla pagina quando uso la versione ortodossa non mi dà nessun errore.
semplicemente non stampa niente
cosa sbaglio?

grazie mille in anticipo a tutti
cyb