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

Langage PHP Discussion :

[POO] Classe MyDb ...


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut [POO] Classe MyDb ...
    Bonjour a tous, j essaie de me creer une classe MyDb pour pouvoir manipuler plus facilement mes acces a la bdd.

    Seulement j ai un petit probleme.

    voici une des fct :
    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
    function querySingleItem($sql)
    	{
    		if ( $result = $this->mysqli->query($sql) )
    		{
    			if ( $row = $result->fetch_object() )
    			{
    				$result->close();
    				return $row;
    			}
    			else
    			{
    				$result->close();
    				return -1;
    			}
    		}
    		else
    		{
    			echo $this->mysqli->error;
    			return -1;
    		}
    	}
    Si cette fct ne rencontre pas d erreur, elle devrait renvoyer un object (return $row).
    Or j ai tester dans ma page php le retour de la fct avec un print_r() et il s'avère qu'il me dis que cette fct renvoi l entier 1.

    Est-ce que quelqu'un pourrait m expliquer ceci ?

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    euh ca vient peut etre du close ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if ( $row = $result->fetch_object() )
             {
                var_dump($row);
                $result->close();
                var_dump($row);
                return $row;
             }
    ça donne quoi ça ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut
    Mdr je pensais avoir tester

    mais comment pourrais-je faire pour fermer l object result(le detruire) sans pour antant detruire l object row ?

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    euh tu peux essayer de le cloner mais c'est sans garanties

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $monres = clone $row;
    $result->close(); 
    var_dump($monres);
    return $monres;
    sinon, tu met $result en attribut de ta classe et tu met une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function resultClose(){
       $this->result->close();
    }
    que tu appelera apres avoir fait ton traitement
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut
    C est bizarre :

    dans ma class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    echo '<pre>';
    var_dump($row);
    echo '</pre>';
     
    $result->close();
     
    echo '<pre>';
    var_dump($row);
    echo '</pre>';
     
    return $row;
    les 2 var_dump me donne bien des objects

    mais une foit dans le fichier qui appel la fct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ( $row = $db->querySingleItem($requete) != -1 )
    {
    	echo '<pre>';
    	var_dump($row);
    	echo '</pre>';
    }
    il me dis que row est bool(true)

    Bizarre nan ?

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    non, met des () :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ( ($row = $db->querySingleItem($requete)) != -1 )
    car là, tu affectes le test $db->querySingleItem($requete) != -1 a $row
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 215
    Points : 71
    Points
    71
    Par défaut
    Merci du conseil

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

Discussions similaires

  1. [POO] Classe en PHP5
    Par neptune dans le forum Langage
    Réponses: 5
    Dernier message: 01/09/2005, 17h55
  2. [POO]Classes abstract
    Par smag dans le forum Langage
    Réponses: 5
    Dernier message: 29/06/2005, 23h05
  3. [Language][POO]classe interface
    Par Samanta dans le forum Langage
    Réponses: 9
    Dernier message: 21/06/2005, 15h32
  4. Réponses: 3
    Dernier message: 19/05/2005, 10h46
  5. [POO] Class Défilementa automatique d'images avec animation
    Par rakoto.n dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/01/2005, 18h21

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