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 :

[SQL] problème d'exécution de la requête


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 232
    Points
    232
    Par défaut [SQL] problème d'exécution de la requête
    bonjour, quel belle matinée pour rester devant sont pc à coder...
    j'ai un problème que je n'arrive pas à résoudre, je vous explique :
    je récupere la variable $type d'un formulaire, et je veux ensuite récuperer le contenu du champ "texte" de ma table "page_fixe" pour laquelle le champ "index" est égal au contenu de la variable $type.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $type = $_POST['type']; 
    // la variable $type est bien égale à un entier
     
    $req= "select texte from page_fixe where index = '".$type."'"; 
    // index est de type INT dans la base de donnée
     
    $res_req = mysql_query($req);
     
    $res2_req = mysql_fetch_array($res_req);
    Sur ma page web j'ai l'erreur suivante :
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/119/sdb/5/2/elmisterios/test/admin/modif_page_fixe.php on line 36
    je pense qu'il me sort cette erreur car il n'arrive pas à exécuter la requete, quand je fais un echo $res_req; ,il ne m'affiche rien du tout.

    merci par avance

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Je pense que ton index est un entier donc il ne faut pas de quote autour de la valeur. Et penses a utiliser mysql_error pour comprendre ce qui se passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $type = $_POST['type']; 
    // la variable $type est bien égale à un entier
     
    $req= "select texte from page_fixe where index = $type"; 
    // index est de type INT dans la base de donnée
     
    $res_req = mysql_query($req) or die("Erreur mysql : " . mysql_error());
     
    $res2_req = mysql_fetch_array($res_req);
    EDIT : et penses a vérifier que $_POST['type'] est bien rempli avant de l'utiliser dans une requête!

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 232
    Points
    232
    Par défaut
    j'ai tout bien fait comme tu me l'a dit
    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
     
    if ( !isset($_POST['type']))
    		{
    			$type = 1;
    		}
    	else
    		{
    			$type = $_POST['type'];
    		}
     
    	$req= "select texte from page_fixe where index = $type";
     
    	$res_req = mysql_query($req) or die ("Erreur mysql : " . mysql_error());
     
    	$res2_req = mysql_fetch_array($res_req);
    et voici le message d'erreur qu'il m'affiche maintenant :

    Erreur mysql : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index = 3' at line 1

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    ton champ index est de quel type? Essaies de remettre les quote meme si ca m'étonnerait que ca soit ça.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 232
    Points
    232
    Par défaut
    mon champ index est de type int,
    j'ai changer le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req= "select texte from page_fixe where index = ".$type."";
    ou comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req= "select texte from page_fixe where index = '".$type."'";
    mais rien n'y fait

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ceci est un drôle de problème...

    Si tu ajouts l'affichage de la requête, ça a bien la bonne forme ?
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req= "select texte from page_fixe where index = $type";
    $res_req = mysql_query($req) or die ("Erreur mysql $req : " . mysql_error());

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 232
    Points
    232
    Par défaut
    salut cerila,
    quand je fais un echo de ma requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req= "select texte from page_fixe where index = ".$type."";
    , il m'affiche :

    select texte from page_fixe where index = 3

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je ne comprends pas : si ton champ index est de type int, ça devrait fonctionner !

    Je sens qu'on va passer 30 posts sur le problème pour nous apercevoir à la fin que c'était un truc hyper simple mais que personne n'avait vu

    Si tu mets la requête directement à la main (juste voir)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = "select texte from page_fixe where index = 3";

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 232
    Points
    232
    Par défaut
    ben je viens d'essayer et ca fais toujours la meme erreur, je vais recreer ma table pour voir si ca vient de la , mais pour l'instant je suis perdu ...

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 232
    Points
    232
    Par défaut
    je viens de recreer ma table, mais rien n'a changé

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 232
    Points
    232
    Par défaut
    Probleme résolu par mes seuls 10 petits doigts et mes quelques neurones usés.

    en fait j'ai changer le nom de la clé primaire de ma table qui était index en id, et hop, comme par magie ca a fonctionné.

    Merci à ceux qui ont pris le temps de m'aider

    Tchô

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    index est un mot réservé. Il aurait fallu écrire la requête comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = "SELECT texte FROM page_fixe WHERE `index` = '".$type."'";
    Le renommer fonctionne aussi

  13. #13
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je vous avais bien dit que c'était un truc évident ! (faut vraiment que je retiennes les mots à ne pas utiliser, moi)

    Bonne continuation !

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

Discussions similaires

  1. [MySQL] Problème d'exécution d'une requête SQL
    Par siempre dans le forum Requêtes
    Réponses: 8
    Dernier message: 17/02/2012, 14h07
  2. Problème d'exécution d'une requête sql sous java
    Par leshafid dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/08/2010, 10h15
  3. Problème d'exécution d'une requête sql sous java
    Par leshafid dans le forum JDBC
    Réponses: 1
    Dernier message: 18/08/2010, 09h26
  4. problème d'exécution d'un requête SQL!
    Par binhjuventus dans le forum C++Builder
    Réponses: 5
    Dernier message: 12/07/2006, 05h21
  5. [SQL] Problème d'exécution et d'affichage de requête !
    Par gabyloux dans le forum PHP & Base de données
    Réponses: 44
    Dernier message: 30/03/2006, 20h34

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