PDA

View Full Version : [PHP] Call to a member function on a non-object...


The Incredible
31-08-2007, 10:14
ho un file index.php
prima richiamava top e foot che erano anche loro due file che contenevano il footer e top..
ora ho fatto una funziona per ognuno di essi ma mi esce il seguente errore:
Fatal error: Call to a member function query() on a non-object in /opt/lampp/htdocs/arbay/includes/auth.lib.php on line 97

la riga è questa:

$rs = $db->query($sql);

il contesto questo:

<ul>
<?
$sql = "...............";
$rs = $db->query($sql);
while( $row = $rs->fetchRow(DB_FETCHMODE_ORDERED) ){ echo ....; }
?>
</ul>

Non capisco cosa sia cambiato da quando erano due file separati..e quindi che tipo di errore è..
Grazie

ilDave
31-08-2007, 13:44
Probabilmente la variabile $db non è inizializzata correttamente.
Dove fai la new?

The Incredible
31-08-2007, 14:06
all'inizio del file che contiene la funzione dove c'è l'errore richiamo il file setup che contiene le istruzioni per il collegamento al db..

$dsn = "mysql://$user:$pass@$host/$db_name";
$db = DB::Connect($dsn,true);

ect..
che dovrei fare?richiamarlo all'interno della funzione?

The Incredible
31-08-2007, 14:07
l'ho inizializzato dentro ad un altro file..
che includo all'inizio del file dove ci sono le funzione...
come posso fare?

The Incredible
31-08-2007, 14:26
ho risolto passando l'oggetto db alla mia funzione.
quindi:
footer($db);

ilDave
31-08-2007, 14:34
Ecco, stavo appunto per dire che poteva trattarsi di un problema di scope della variabile :)