IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur: Call to undefined method [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut Erreur: Call to undefined method
    je développe mon code de connexion, sélection, insertion,.. dans la base de donnée en utilisant MySQLi, j'obtiens l'erreur suivante:

    Fatal error: Call to undefined method Connexion::query() in classes.php on line 66
    voila le code:

    classes.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    public final function toDo($method='', $fields=array(), $table_name='') 
    		{
    			// method: select, create, insert, delete, update, read (CRUD)
    			$this->method = $method;
    			$this->fields = $fields;
    			$this->table_name = $table_name;
     
    			global $r;
    			$this->r = $r;
     
     
    			if(!is_object($r)){echo"<font color='red' size='5'>DB N EST PAS UN OBJET</font>";} else {echo 'is object';}
     
    			switch($this->method)
    				{
    					case 'SELECT':
    					$this->select = "$this->method $fields FROM $this->table_name";
    					echo $this->select;
    					$this->result = $r->query($this->select);
     
    					//$this->query = mysql_query($select) OR DIE (mysql_error());
    					break;					
     
     
    				} // EnD switch
     
    		} // end toDo
    ligne66: $this->result = $r->query($this->select);

    fichier.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    include 'classes.php';
     
    $r = new Connexion($db_host, $db_user, $db_passwd);
    $r->db_name($db_idara);
    $r->toDo('SELECT', '*', 'users_sgroups');
     
    ?>
    merci a vous

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    il n'y a pas de méthode "query" dans ta classe $r.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Citation Envoyé par sabotage Voir le message
    il n'y a pas de méthode "query" dans ta classe $r.
    d'apres mes connaissances de base, on prend la variable de constructeur qui est dans mon cas $r:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $r = new Connexion($db_host, $db_user, $db_passwd);
    et c'est elle qu'on appelle pour executer le query:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->result = $r->query($this->select);

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    certes mais ou est la methode query ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Citation Envoyé par sabotage Voir le message
    certes mais ou est la methode query ?
    voila le code en entier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    class Connexion {
     
    	// connect to the server
    	public function __construct($db_host='', $db_user='', $db_passwd='')
    		{
    			$this->db_host = $db_host;
    			$this->db_user = $db_user;
    			$this->db_passwd = $db_passwd;
    			$this->connexion = $connexion;
     
    			$this->connexion = new mysqli($db_host, $db_user, $db_passwd); //HOST, USER, PASSWORD
     
    				if ($mysqli->connect_error) 
    					{
     						die('Connect Error (' . $mysqli->connect_errno . ') '. $mysqli->connect_error);
    					}
    				/*
    					else
    					{
    						echo 'connected';
    					}
    				*/
    		$char = $this->connexion->set_charset("utf8");
     
    		} // end __construct
     
     
    	// select databse
    	public final function db_name($db_name)
    		{
    			$this->db_name = $db_name;
     
    			$s_db = $this->connexion->select_db($this->db_name);
    			/*
    			if($s_db)
    			{
    				echo 'db selected';
    			}
    			*/
    		} // end db_name
     
     
     
    	public final function toDo($method='', $fields=array(), $table_name='') 
    		{
    			// method: select, create, insert, delete, update, read (CRUD)
    			$this->method = $method;
    			$this->fields = $fields;
    			$this->table_name = $table_name;
     
    			global $r;
    			$this->r = $r;
     
     
    			if(!is_object($r)){echo"<font color='red' size='5'>DB N EST PAS UN OBJET</font>";} else {echo 'is object';}
     
    			switch($this->method)
    				{
    					case 'SELECT':
    					$this->select = "$this->method $fields FROM $this->table_name";
    					echo $this->select;
    					$this->result = $r->query($this->select);
     
    					//$this->query = mysql_query($select) OR DIE (mysql_error());
    					break;					
     
     
    				} // EnD switch
     
    		} // end toDo

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    d'ou sort de $r ?

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    merci pour tout le monde

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/09/2008, 12h33
  2. Réponses: 1
    Dernier message: 18/07/2008, 06h57
  3. [Artichow] Call to undefined method Graph::getDrawer()
    Par belocom dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 17/04/2008, 22h56
  4. Réponses: 0
    Dernier message: 25/02/2008, 17h28
  5. Erreur : Call to undefined function
    Par charrier63 dans le forum Langage
    Réponses: 6
    Dernier message: 14/10/2006, 18h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo