Arieccomi ho fatto un po' di prove, ho escluso l'echo dalla mia vita e adesso gestisco l'errore con un comodissimo die, ho fatto una cosa orribile? spero di no.
ho anche riarrangiato l'estrazione e ora la funzione mi butta fuori degli array che poi riciclo e tiro fuori...è corretto? non lo so... così ho due cicli invece di uno quindi non ne sono convintissimo...
ultima cosa ma il return true è sempre indispensabile? ho visto che omettendolo mi restitutisce comunque il valore della funzione ma non vorrei affidarmi troppo alla libertà che mi lascia php...
vi posto il codice, grazie in anticipo per i preziosissimi consigli!
Codice PHP:
<?php
class mysql{
/*dati per accederre al database*/
protected $user = 'username';
protected $password = 'password';
protected $host = 'localhost';
/*fine dati per accederre al database*/
/*connessione a mysql*/
public function open(){
$this->connessione = @mysql_connect($this->host,$this->user,$this->password);
/*gestione errore*/
$this->errorConnection = "ERRORE: Non è possibile collegarsi al database per il seguente motivo: [b]". mysql_error()."[/b]";
if(!$this->connessione){
die($this->errorConnection);
}
/*fine gestione errore*/
return true;
}
/*chiusura connessione a mysql*/
public function close(){
$this->closeConnection = mysql_close($this->connessione);
return true;
}
/*selezione connessione al db*/
public function db($database){
$this->database = $database;
$this->selectDB = mysql_select_db($this->database, $this->connessione);
return true;
}
/*estrazione dati da db*/
public function select($tabella){
$this->tabella = $tabella;
$this->result = @mysql_query("SELECT * FROM ".$this->tabella);
/*gestione errore*/
$this->errorQuery = "ERRORE: La tabella cercata non esiste:[b]". mysql_error()."[/b]";
if(!$this->result){
die($this->errorQuery);
}
/*fine gestione errore*/
$this->testo = array();
$this->titolo = array();
while($this->elementi = mysql_fetch_array($this->result)){
$this->testo[] = $this->elementi['testo'];
$this->titolo[] = $this->elementi['titolo'];
}
return true;
}
}
?>
p.s. sorry prima ho fatto un copia e incolla veloce e ho perso la formattazione del testo