Pb classe

Résolu
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006 - 7 juil. 2006 à 16:19
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006 - 7 juil. 2006 à 20:29
Bonjour,
Toute une appli php4 a refaire autant que je me mette au php 5.0 ^^. Mais je reste toujours aussi nul.
J ai une classe de connexion (j ai essayé avec une récupérée sur ce site ou une à moi) et une classe utilisateur.

<?PHP

require_once("./db.class.php");
    class utilisateur{
       
        // Données membres   
        public $m_pt= 0;
        public $m_login ="";
        public $m_mdp="";
        public $m_nom_formation ="";
        public $m_date_debut_session="";
       
        public function __construct($_login, $_mdp){
           
            $this->m_pt = new db();
            $this->m_login = $_login;
            $this->m_mdp = $_mdp;
        }
       
        public function select($_login, $_mdp){
           
            $this->m_pt->query("SELECT * FROM `utilisateurs` WHERE `utilisateurs`.`LOGIN` = '".$_login." AND `utilisateurs`.`MDP`='".$_mdp."'" );
         // aprés je remplis les données membres...                                                 
        }   
    }
   
?>
J obtiens un message d erreur :
Fatal error: Cannot pass parameter 1 by reference in /var/www/class/c_utilisateur.php on line 22. (ligne en gras)
La fonction query est une fonction de la classe db.

Voici l appel :
$_util = new utilisateur($_POST['ndu'], $_POST['mdp']);
$_util->select($_POST['ndu'], $_POST['mdp']);

(je sais que les données pourraient etre rempli avec le constructeur mais j aurai aimé comprendre mon erreur...)

Je crois me souvenir avoir développé comme cela en php4 mais la ca ne passe pas.
QQun pourait il m aider ?
Si voux avez un bon tuto objet php5.0 je suis également preneur
Merci.

 

4 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
7 juil. 2006 à 20:12
"Cannot pass parameter 1 by reference"

"public function query(&$query=NULL){"

dégage le &
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 juil. 2006 à 16:35
Hello,

on peut voir la méthode query () de ta classe db...?
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
7 juil. 2006 à 18:58
La j'utilise une classe de ce site :
...
public function query(&$query=NULL){
        if($query){
            try{
                $req = mysql_query($query);
                return $req;
            } catch(debug $dbg) {
                $dbg = new debug('Exécution de la requête échouée.',200);
            }
        } else {
            new debug('Erreur lors de l\'exécution de la requête : requête vide!',100);
        }
 }
Plus d'infos ?
Merci a toi

 
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
7 juil. 2006 à 20:29
J'ai capté ca il y a pas 5 minutes merci bien . Sinon j avais une faute dans ma requete (honte sur moi).

 
0
Rejoignez-nous