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 :

Function de blocage qui ne fonctionne pas


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut Function de blocage qui ne fonctionne pas
    Bonjour,

    Je suis en train de concevoir un système de blocage pour mon espace membre. (Si le membre Christophe est trop collant alors Sophie à la possibilité de le bloquer .. bref...)

    Voila mon problème..

    Pour qu'un membre(A) puisse afficher le profil d'un autre membre(B) j'ai besoin de savoir si ce dernier à bloqué le membre A (et inversement : car il ne faut pas qu'un membre qui a déjà bloqué un autre membre puisse tout de même consulter son profil.. pas très fair-play!) donc il me faut une requête comme celle ci..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function getBlock($user_id, $idmbr) {
        global $pdo;
        $block = $pdo->query('
          SELECT * FROM blocage_users WHERE
            ('idmbr='.$user_id.' AND idmbr_blocage='.$idmbr.') OR
            ('idmbr='.$idmbr.' AND idmbr_blocage='.$user_id.');
        if ($block->rowCount() == 1)
            return $block->fetch();  // Accès à la première ligne de résultat
        else
            return false;
    }
    sauf que...
    Problème : elle ne fonctionne pas ! j'ai toujours un message d'erreur de syntaxe ! le dernier message d'erreur le voici :
    Parse error: syntax error, unexpected 'idmbr' (T_STRING) in C:\xxxxx\model\overall.php on line 132

    merci pour votre coup de main.

  2. #2
    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
    La coloration syntaxique te montre bien le problème : tu as une apostrophe qui se ballade :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $block = $pdo->query('
          SELECT * FROM blocage_users WHERE
            (idmbr='.$user_id.' AND idmbr_blocage='.$idmbr.') OR
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    fonctionne toujours pas.. j'ai modifié comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $block = $pdo->query('
          SELECT * FROM blocage_users WHERE
            (idmbr='.$user_id.' AND idmbr_blocage='.$idmbr.') OR
            (idmbr='.$idmbr.' AND idmbr_blocage='.$user_id.'');
    et encore des erreurs :

    ( ! ) Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 '' at line 3' in C:\wamp\www\site2\model\overall.php on line 133
    ( ! ) PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 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 '' at line 3 in C:\wamp\www\site2\model\overall.php on line 133

  4. #4
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    c'est bon j'ai résolu le problème voici la correction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $block = $pdo->query('
          SELECT * FROM blocage_users WHERE
            (idmbr='.$user_id.' AND idmbr_blocage='.$idmbr.') OR
            (idmbr='.$idmbr.' AND idmbr_blocage='.$user_id.')');
    le ') a la fin..

    merciii

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

Discussions similaires

  1. Jquery/AJAX function click qui ne fonctionne pas.
    Par prome dans le forum jQuery
    Réponses: 2
    Dernier message: 12/03/2009, 12h57
  2. function javascript qui ne fonctionne pas dans la balise <body>
    Par typikal dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/04/2008, 16h45
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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