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 :

Problème avec requete préparée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Problème avec requete préparée
    Bonjour,

    J'ai actuellement l'erreur suivante

    Notice: Undefined index: forum_id in E:\Programme\UwAmp\www\test\forum\poster.php on line 27
    Voici le fichier incriminé,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (isset($_GET['f']))
    {
        $forum = (int) $_GET['f'];
        $query= $db->prepare('SELECT forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
        FROM forum_forum WHERE forum_id =:forum');
        $query->execute(array(
    		'forum' => $forum
        ));
        $data=$query->fetch();
        echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> 
        <a href="./voirforum.php?f='.$data['forum_id'].'">'.stripslashes(htmlspecialchars($data['forum_name'])).'</a>
        --> Nouveau topic</p>';
    L'erreur me dit que forum_id n'as pas de valeur. La variable $forum qui récupère le GET['f'] contient bien la valeur désiré (testé par echo). Ma requete praprée devrait donc mettre la valeur de $forum dans :forum lui même dans forum_id. Et pourtant j'ai cette erreur.

    Quelqu'un voit'il d'ou vient le problème?

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ pour commencer, il faut savoir lire et comprendre un messages d'erreur.
    Ici : "index forum_id non défini à la ligne 27".

    Donc : voir à la ligne... 27 ! (?)
    Or, dans le code que tu montres, on va jusque la ligne 13...

    2/ Je pense que la ligne 27 est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <a href="./voirforum.php?f='.$data['forum_id'].'">'.stripslashes(htmlspecialchars($data['forum_name'])).'</a>
    Où on lit $data['forum_id'].

    Or, ta requête est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo ................
    Point de forum_id ici... donc pas possible de lire $data['forum_id'].
    Eureka.

    3/ autre erreur ; il manque le ":" :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        $query->execute(array(
    		':forum' => $forum
        ));

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    1) Oui effectivement, je n'ai mis que la partie de code concerné ce qui a décalé les lignes. Sorry

    2) Effectivement c'est bien celle la la ligne 27. Et oui, effectivement pour forum_id

    3) Ah, c'est étrange dans les exemples que j'ai vu il ne mettait pas le :, je vais essayer avec.

    Merci d'avance pour la réponse.

    J'ai fais les modifs, tout fonctionne.

    Merci bien

  4. #4
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    '.....
        FROM forum_forum WHERE forum_id =:forum');
        $query->execute(array(
    		':forum' => $forum
        ));
    :forum doit être le même dans la requête et l'array.

    Si on ne met pas les ':', il faut le faire dans les deux.

  5. #5
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'y a pas forum_id dans ta requête.
    La valeur de l'id du forum c'est $forum tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> 
        <a href="./voirforum.php?f='.$forum.'">'.stripslashes(htmlspecialchars($data['forum_name'])).'</a>
        --> Nouveau topic</p>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Problème avec requetes sql UPDATE
    Par moilou2 dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 08/07/2008, 15h42
  2. Problème avec requete SQL
    Par Winterrage dans le forum Langage SQL
    Réponses: 16
    Dernier message: 16/06/2008, 15h21
  3. problème avec requete update
    Par nicolasferraris dans le forum ASP
    Réponses: 2
    Dernier message: 01/04/2008, 11h41
  4. Problème avec requete SQL/type NumAuto
    Par Mimisio dans le forum VBA Access
    Réponses: 5
    Dernier message: 27/07/2007, 11h56
  5. [ACCESS][SQL] Problème avec requete SQL ...
    Par mpascolo dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/11/2005, 10h54

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