ciao a tutti
1. ho qualke problema nell'utilizzo di una classe per la connessione al DB e le query. (ho preso qualke spunto dagli esempi di Advanced PHP Programming)
Codice PHP:
class dbhandler {
var $user, $pass, $dbhost, $dbname, $dbh;
function dbhandler() {
$this->user=$cfg_db_user;
$this->pass=$cfg_db_pass;
$this->dbhost=$cfg_db_host;
$this->dbname=$cfg_db_name;
}
function connect() {
$this->dbh=mysql_pconnect($this->dbhost,$this->user,$this->pass);
...
}
function execute($query) {
if (!$this->dbh) {
$this->connect();
}
$ret=mysql_query($query,$this->dbh);
...
}
}
ottengo un errore durante il parsing del file in corrispondenza di $this->connect() nella funzione execute.
Precisamente l'errore è 'Call to undefined function: connect()'.
come devo richiamare la funzione?
2. quella stessa funzione, in caso di un SELECT mi crea un'istanza di un altro oggetto:
codice:
$result=new DB_res($this->dbh,$query);
$result->data=$ret;
return $result;
il quale mi permette di richiamare altre funzioni come num_rows() o fetch_row() - ritornano rispettivamente mysql_num_rows() e mysql_fetch_row().
Purtroppo, un esempio pratico mi torna un Fatal Error: Call to a member function on a non-object.
codice:
$query=dbhandler::execute($raw);
if ($query->num_rows()!=0) {
...
Come mai non mi permette di usare il risultato della query come l'oggetto che viene istanziato nella classe?
se servisse uso PHP 4.3.4
grazie