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

Requêtes MySQL Discussion :

[SGBD] Problème de requête MySQL


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut [SGBD] Problème de requête MySQL
    bonjour a tous je suis entrain de creer un site en php en ce moment
    et j ai un petit probleme avec mon forum, j ai modifié mon script pour pouvoir bloquer un post , en cliquant sur un lien qui doit mettre a jour un champ de la table
    la requete est la suivante
    if (isset ($_GET['bloquer_sujet'])and isset ($_GET['valeur']) )
    {

    mysql_query("UPDATE sujet SET lock='".$_GET['valeur']."'WHERE id='".$_GET['bloquer_sujet']."'") or die(mysql_error());

    }

    le lien est le suivant

    <a href="sujet.php?bloquer_sujet=<?php echo $donneesSujet['id']; ?>&amp;valeur=1 ">bloquer</a>

    malheuresement mysql me met une erreur :
    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 'lock=1WHERE id=11' at line 1


    pourtant j utilise le meme script sur une autre page avec exactement la meme syntaxe et ca fonctionne tres bien
    voila d'apres vous qu est ce qui ne va pas ?
    je posterai la page entiere si vous voulez mais la seule erreur se trouve la
    merci d'avance

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Comme précisé par le message d'erreur c'est une erreur de syntaxe, testes comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     mysql_query("UPDATE sujet SET lock='".$_GET['valeur']."' 
    WHERE id='".$_GET['bloquer_sujet']."'") or die(mysql_error());
    J'ai juste rajouté un espace entre le where et le lock

    Avec ça, et si la requete est correcte ca devrait fonctionner

  3. #3
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Tu mets des guillemets doubles dans une chaîne délimitée par des guillemets doubles.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut
    merci j ai essayé mais ca semble pas fonctionner
    j ai meme essayé avec cette syntaxe la
    if (isset ($_GET['bloquer_sujet'])and isset ($_GET['valeur']) )
    {

    mysql_query('UPDATE sujet SET lock=\''.$_GET['valeur'].'\' WHERE id=\''.$_GET['bloquer_sujet'].'\'') or die(mysql_error());
    }

    mais rien du tout , le pire c'est que ca fonctionne sur une autre page

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par zakuza
    merci j ai essayé mais ca semble pas fonctionner
    j ai meme essayé avec cette syntaxe la
    if (isset ($_GET['bloquer_sujet'])and isset ($_GET['valeur']) )
    {

    mysql_query('UPDATE sujet SET lock=\''.$_GET['valeur'].'\' WHERE id=\''.$_GET['bloquer_sujet'].'\'') or die(mysql_error());
    }

    mais rien du tout , le pire c'est que ca fonctionne sur une autre page
    Et comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_GET['bloquer_sujet']) and isset($_GET['valeur']))
    {
       mysql_query('UPDATE `sujet` SET `lock`=\''.$_GET['valeur'].'\' WHERE `id`='.$_GET['bloquer_sujet'].'') or die (mysql_error());
    }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut
    ca fonctionne maintenant merci beaucoup je me casse la tete dessus depuis hier Lol ca fait plaisir , vous savez m expliquer pourquoi ca fonctionne maintenant et pas avant pasque c'est quand meme bizarre ^^
    et encore

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Première chose: ton "and" était collé au isset() de ta condition (je sais pas si ça changeait quelque chose mais c'est toujours ça )
    Ensuite, il faut encadrer le nom des colonnes MySQL avec des guillemets inversés
    Enfin, pas besoin d'encadrer la valeur de l'id avec des guillemets car c'est un nombre et non une chaîne de caractères

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut
    ok merci beaucoup avec ca je risque plus de faire d'erreur de syntaxe
    ce qui est bizarre c'est que sur une autre page ca fonctionnait mais bon ca a mon avis seul mysql sait pourquoi

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/05/2006, 09h00
  2. Réponses: 4
    Dernier message: 30/12/2005, 11h00
  3. [SGBD] FPDF+enregistrer le pdf généré dans BDD MySQL
    Par Flushovsky dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 29/11/2005, 16h22
  4. [SGBD] affichage d'image jpeg depuis une base mysql
    Par eric_300 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/09/2005, 12h27

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