Problème multi classe PHP
Shauken
-
Shauken -
Shauken -
Bonjour,
je commence un site orienté Objet mais quelques notion me manque:
voila mon problème:
j'ai 2 classe et ma page index:
- "MyBase" qui fait le lien entre ma base de données et mon site
- "Config_general" une classe composée de fonction pour modifier les parametres du site.
- Ma page Index
A l'execution j'ai l'erreur:
Fatal error: Call to a member function execute() on a non-object in C:\Users\vvasseur\Documents\Dev Web\EasyManga\em-class\em-admin\Config_general.php on line 22
Pouvez vous m'expliquer d'ou vient le problème.
Merci pour vos réponse.
je commence un site orienté Objet mais quelques notion me manque:
voila mon problème:
j'ai 2 classe et ma page index:
- "MyBase" qui fait le lien entre ma base de données et mon site
<?php class MyBase { private $ip; private $login; private $pass; private $database; private $id_connection; private $erreur; public function __construct($ip,$login,$pass,$database) { $this->ip=$ip; $this->login=$login; $this->pass=$pass; $this->database=$database; $this->id_connection=NULL; $this->erreur="Aucune Erreur"; } public function connection() { $this->id_connection=mysql_connect($this->ip,$this->login,$this->pass); if(!$this->id_connection) $this->erreur="Impossible d'établir la connexion"; else { if(!mysql_select_db($this->database)) $this->erreur="Impossible de trouver la database.)"; } } public function deconnection() { if(!mysql_close($this->id_connection)) $this->erreur="Erreur de deconnexion"; } public function geterreur() { return $this->erreur; } public function query($requete) { $i=0; $tab=array(); $retour=mysql_query($requete); if(!$retour) { $this->erreur="Impossible d'executer la requète."; return false; } else { while($ligne=mysql_fetch_array($retour)) { $tab[$i]=$ligne; $i++; } return $tab; } } public function execute($requete) { $retour=mysql_query($requete); if(!$retour) { $this->erreur="Impossible d'executer la requète."; return FALSE; } else return true; } } ?>
- "Config_general" une classe composée de fonction pour modifier les parametres du site.
<?php include_once("em-class/MyBase.class.php"); include_once("em-class/Parametre.php"); class Config_general { private $MaBase; function __construct() { $this->Mabase = new MyBase(ip,login,pass,database); $this->Mabase->connection(); } public function getTitle() { $test = $this->MaBase->query("Select * FROM ".path."options WHERE op_name='Title'"); } public function setTitle($Title) { $test = $this->MaBase->execute("UPDATE ". path. "options SET op_value='".$Title."' WHERE op_name='Title'"); } } ?>
- Ma page Index
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php include("em-class/em-admin/Config_general.php"); $test = new config_general(); $test->setTitle("Toto"); $test->getTitle(); ?> </body> </html>
A l'execution j'ai l'erreur:
Fatal error: Call to a member function execute() on a non-object in C:\Users\vvasseur\Documents\Dev Web\EasyManga\em-class\em-admin\Config_general.php on line 22
Pouvez vous m'expliquer d'ou vient le problème.
Merci pour vos réponse.
A voir également:
- Problème multi classe PHP
- Easy php - Télécharger - Divers Web & Internet
- Youtube multi downloader - Télécharger - Conversion & Codecs
- Sfr multi - Accueil - Opérateurs & Forfaits
- Expert php pinterest - Télécharger - Langages
- Multi boot windows - Guide
4 réponses
dans ton construcuteur, tu passe
$this->Mabase = new MyBase(ip,login,pass,database);
les parametre sont passés sous forme de variable ou tu les met directement en dur dans le script ?
sinon quand tu appel ton construcuteur dans
$test = new config_general();
PHP ne serait pas sensible à la casse ?
$test = new Config_general();
$this->Mabase = new MyBase(ip,login,pass,database);
les parametre sont passés sous forme de variable ou tu les met directement en dur dans le script ?
sinon quand tu appel ton construcuteur dans
$test = new config_general();
PHP ne serait pas sensible à la casse ?
$test = new Config_general();
La fonction __construct n'est disponible que sur les version php > 5 il me semble
si tu remplace dans mybase
par
et dans le ficheir Config_Generale.php
a remplacer par
est ce que cela corrige tes problèmes ?
si tu remplace dans mybase
public function __construct($ip,$login,$pass,$database)
par
function MyBase($ip,$login,$pass,$database)
et dans le ficheir Config_Generale.php
function __construct()
a remplacer par
function Config_general()
est ce que cela corrige tes problèmes ?