manymal
Messages postés66Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention20 avril 2006
-
31 mars 2005 à 16:39
manymal
Messages postés66Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention20 avril 2006
-
1 avril 2005 à 10:09
Bonjours à toi source de connaissances.
j'ai une erreur :
"Fatal error: Call to a member function on a non-object in c:\program files\easyphp1-7\www\projetsitesérica\biblio-images\phpbazimg.php on line 39".
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 31 mars 2005 à 17:49
Hello,
je n'ai jamais essaye d'appeler dans une "simple" fonction, une methode d'une classe exterieure.
Mais a priori ton probleme vient de la.
Dans ta fonction, tu utilises une variable, $db qui sort d'on ne sait
ou. Certes, tu l'as declare EN DEHORS de ta fonction... mais dans ta
fonction, les variables sont generiques.
Si je fais :
$i = 1;
function boucle() {
while ($i < 5) {
echo 'blabla';
$i ++;
}
}
je vais avoir un probleme. Le $i qui est a l'interieur de ma fonction n'a aucun rapport avec le $i qui est a L'exterieur.
Et heureusement !! Sinon on serait bien emmerde pour faire des
fonctions...parce qu'on prendrait le risque qu'elles soient utilisees
dans des pages ou une variable de meme nom qu'une des variables
utilisee par notre fonction ait ete declaree, avec une valeur
particuliere etc...voire de type different!
Donc ton probleme me semble tres logique.
Soit tu programmes objet, soit fonctionnel, mais ne melange pas les 2 (pas de cette maniere en tous cas).
manymal
Messages postés66Date d'inscriptionmardi 29 mars 2005StatutMembreDernière intervention20 avril 2006 1 avril 2005 à 09:58
$db est une variable system Pear, que je peux appeler grace à : require_once 'DB.php';
pour ton example $i je vois c'est ce que l'on appel un effet de bord je
crois ? et la je ne cherchepas ca car j'ai deja un code source qui
tourne avec un script plus étoffé que celui ci_dessus.
je reste donc sans solution pour le moment & reste a l'ecoute....