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 :

Erreur dans ma requête SQL ?


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut Erreur dans ma requête SQL ?
    Bonjour,

    j’ai fait une erreur quelque part ?
    Cette query ne me renvoie rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $query->select('b.*,a.catid');
    $query->from('#__jem_cats_event_relations as a');
    $query->join('LEFT', $db->quoteName('#__jem_events', 'b') . ' ON (' . $db->quoteName('b.id') . ' = ' . $db->quoteName('a.itemid') . ')');
     
    $query->where('a.catid = '.$catId.'');
     
    $db->setQuery($query);
    Je cherche à récupérer les éléments de #__jem_events qui ont comme ‘catid’ $catId dans la table #__jem_cats_event_relations.
    Je joins les tables sur ‘id’ de #__jem_events avec ‘itemid’ de #__jem_cats_event_relations.

    Je m’y prends mal ?

    Merci pour l’aide
    PAul

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 565
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    la jointure est mal écrite : vous avez codé JOIN LEFT au lieu de LEFT JOIN.

    Quand vous avez un souci avec une requête, commencez par la tester hors programme

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Oops... au temps pour moi :
    je recherchais sur une mauvaise valeur de $catId et donc rien ne m'était renvoyé. Pardon pour le bruit.

    Visiblement la syntaxe $query->join('LEFT', ... fonctionne.
    Je n'en suis pas l'auteur. Je l'ai juste reprise d'une autre requête dans un script Joomla.



    Mais pour suivre ta recommandation,
    comment faire pour tester hors programme ?
    Si je mets cette requête dans phpMyAdmin, avec cette syntaxe j'ai plein d'erreurs signalées :

    Nom : Capture 2019-12-26 à 10.57.03.jpg
Affichages : 496
Taille : 148,0 Ko

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

    Citation Envoyé par Mister Paul Voir le message
    ... dans un script Joomla...
    Ça aurait été bien de commencer par là... non ?

    ...Si je mets cette requête dans phpMyAdmin, avec cette syntaxe...
    Ben forcément... C'est une syntaxe écrite en PHP, et spécifique à Joomla !
    phpMyAdmin n'interprète pas le PHP.

    Dans phpMyAdmin, il faut mettre la "vraie" requête SQL créée.

    Je ne connais pas Joomla... mais essaie de voir ce que donne :
    En cherchant (et trouvant) dans la doc Joomla : JDatabase::setQuery
    $query : The SQL statement to set either as a object or a string
    Dernière modification par Invité ; 26/12/2019 à 15h31.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut

    Oui tu as raison ! Je ne pensais simplement pas cette syntaxe spécifique à Joomla...

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

Discussions similaires

  1. [AC-2003] erreur dans une requête SQL
    Par sabredebois dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 25/12/2010, 19h57
  2. erreur dans une requête sql dans une fonction php
    Par frboyer dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2009, 13h37
  3. erreur dans votre requête SQL.Ponctuation invalide @ 48
    Par Artoisvert dans le forum Débuter
    Réponses: 0
    Dernier message: 11/07/2008, 02h12
  4. Erreur dans la requête SQL
    Par francommerce dans le forum ASP
    Réponses: 4
    Dernier message: 05/02/2008, 15h52
  5. [MySQL] Erreur dans une requête sql
    Par Goundy dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/01/2006, 16h08

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