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 :

[Système] [DEBUTANT] Pb de classe


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut [Système] [DEBUTANT] Pb de classe
    Bonjour,

    Afin d'optimiser mes requêtes MySql, je tente de m'initier aux classes et bien sûr, ça foire ... et pourtant, en théorie ça devrait bien fonctionner (?).

    J'utilise 2 fichiers :

    # dbclass.inc.php contient la définition de ma classe :

    class album
    {
    var $id_album;
    var $titre;

    function lire_album($id_album)
    {
    $query = "SELECT id_album,titre FROM ms_album WHERE id_album='$id_album'";
    $requete = mysql_db_query($db, $query);
    $this->id_album = mysql_result($requete,0,"id_album");
    $this->titre = mysql_result($requete,0,"titre");
    }
    }


    # mon fichier php qui doit afficher les infos :

    <?php
    include("config_db.inc.php");
    include ("dbclass.inc.php");
    $monAlbum = new album();
    $monAlbum->lire_album(5);
    echo "Titre: ".$monAlbum->titre."<br>";
    ?>


    J'obtiens le message d'erreur suivant alors que ma requête en elle-même est correcte :
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in .../www/dbclass.inc.php on line 11

    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in .../www/dbclass.inc.php on line 12


    Quelqu'un aurait une idée ?
    Merci d'avance!

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Par défaut
    Bonjour,

    si tu fais un echo de ta requête et que tu la testes, tu obtiens quel message ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Elle fonctionne très bien : les valeur de l'id_album et du titre s'affichent.

    En utilisant la classe album(); , j'ai l'impression que la variable $id_album contenue dans ma requête est vide ...

    Comprends pas ...

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Par défaut
    Si tu as cette impression, pourquoi n'afficherais-tu pas le contenu de ta variable dans ta classe via un echo ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Balrog > j'ai répondu en même temps que toi

    Navis 84 / Balrog > J'ai donc essayé ce que vous m'avez conseillé : elle s'exécute bien sous PhpMyAdmin et un echo $query donne ça :
    SELECT titre, pochette FROM ms_album WHERE id_album = '150'

    De plus, j'utilise régulièrement des requêtes sous cette forme et j'ai pas de soucis.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    j'ai fais un echo $query; dans ma fonction :

    function lire_album($id_album)
    {
    $query = "SELECT id_album,titre FROM ms_album WHERE id_album='$id_album'";
    echo $query;
    $requete = mysql_db_query($db, $query);
    $this->id_album = mysql_result($requete,0,"id_album");
    $this->titre = mysql_result($requete,0,"titre");
    }

    ... et ça m'affiche :

    SELECT id_album,titre FROM ms_album WHERE id_album='5'


    Donc c'est pas ce que je croyais ...

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Par défaut
    salut
    tu n'etable pas de connexion à ta base

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    $query = "SELECT id_album,titre FROM ms_album WHERE id_album='$id_album'";
    apparemment ta requete cloche a quelq part. quand tu execute une requete n'oublie pas ceci:
    $requete = mysql_db_query($db, $query) or die ("erreur sql $query".mysql_error()).
    entre autre enlève les quotes autour de $id_album vu que id_album est un champ de type numérique
    desolé q ça soit arrivé si tard

  9. #9
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 12
    Par défaut
    Ta requête doit être mauvais car le résultat retourné par le mysql_db_query() n'est pas exploitable.
    Fais un echo $query; pour voir la tête de ta requête, et essaye de l'executer dans PHPMyAdmin pour voir ce que ça donne!

    -----
    Edit: j'ai répondu trop lentement

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

Discussions similaires

  1. [Debutant] Sources des Classes
    Par youbyoub dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 01h39
  2. [POO] Débutant en POO, class mysql php5
    Par ouafouaf dans le forum Langage
    Réponses: 9
    Dernier message: 06/02/2006, 10h21
  3. [Super debutant] probleme de "classes"
    Par frett dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/03/2005, 13h43
  4. [debutant][Classpath][Linux] Classe non trouvée
    Par oghma777 dans le forum Général Java
    Réponses: 5
    Dernier message: 15/10/2004, 22h26
  5. [Eclipse3.0][Debutant]Pas de .class généré
    Par willowII dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 10/08/2004, 18h07

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