Joomladay francophone 2018 à Paris 18 et 19 mai

Erreur 1064

Réduire
Ce sujet est fermé.
X
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Erreur 1064

    Bonjour à toute la communauté. je tente le passage de 205 à 3.3 mais j'ai maintenant ce problème :

    Error: 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 'content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 ' at line 27 SQL=SELECT categories.title AS cat, content.id AS ID, content.access AS access, categories.title AS cat, users.email AS author_email, users.name AS author, content_rating.rating_sum AS rating_sum, content_rating.rating_count AS rating_count, categories.id AS CID FROM g25_content AS content LEFT JOIN g25_categories AS categories ON categories.id = content.catid LEFT JOIN g25_content_frontpage AS frontpage ON content.id = frontpage.content_id LEFT JOIN g25_users AS users ON users.id = content.created_by LEFT JOIN g25_content_rating AS content_rating ON content_rating.content_id = content.id WHERE 1=1 content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 OR content.id = 964 OR content.id = 963 OR content.id = 962 OR content.id = 961 OR content.id = 960 OR content.id = 959AND ( content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 OR content.id = 964 OR content.id = 963 OR content.id = 962 OR content.id = 961 OR content.id = 960 OR content.id = 959) AND categories.published = 1 ORDER BY content.created DESC

    Auriez-vous une solution ? Merci d'avance.

  • #2
    Re : Erreur 1064

    Hello

    C'est le 1=1 au milieu qui fait planter la requête... Les devs qui font ce genre de code sérieux...

    Tu dois avoir un plugin de vote sur les articles, non ?
    Essaie de le désactiver pour voir si l'erreur vient de là.
    Folcomedia - Agence Web
    Développeur Joomla depuis 1724
    http://www.folcomedia.fr
    Sites internet | E-commerce | Hébergement | Application mobiles & Facebook
    Présent au JoomlaDay 2014

    Commentaire


    • #3
      Re : Erreur 1064

      Merci Folcomedia. Je vérifie cela et je te tiens au courant.

      Commentaire


      • #4
        Re : Erreur 1064

        Envoyé par Folcomedia Voir le message
        Hello

        C'est le 1=1 au milieu qui fait planter la requête... Les devs qui font ce genre de code sérieux...

        Tu dois avoir un plugin de vote sur les articles, non ?
        Essaie de le désactiver pour voir si l'erreur vient de là.
        Pas tout à fait WHERRE 1=1 est parfaitement valide en SQL, il pose une condition qui est toujours vraie, ce qui est bien pratique quand on génère du code SQL automatiquement. Pas de soucis avec ça.

        Ce qui est nettement moins bien par contre c'est d'avoir oublié le ' AND ' à suivre pour autoriser l'ajout d'autres conditions.

        Soit Folcomedia a raison et c'est inadmissible pour les développeurs de n'avoir pas testé l'exécution ce don tje doute quand même un peu, soit (plus probablement) le code PHP du composant n'est pas compatible à 100% avec la version PHP et/ou les nouvelles librairies Joomla! et (surtout) mySQL

        Cordialement
        Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

        Commentaire


        • #5
          Re : Erreur 1064

          Je sais que WHERE 1=1 est tout à fait valide (et qu'il manque bien le AND après d'où l'erreur SQL), je dis juste qu'il y a des moyens plus propres de faire des requêtes dynamiques.

          Cela dit il doit y avoir une interaction avec Joomla 3 qui pose problème dans ce plugin, on est bien d'accord
          Folcomedia - Agence Web
          Développeur Joomla depuis 1724
          http://www.folcomedia.fr
          Sites internet | E-commerce | Hébergement | Application mobiles & Facebook
          Présent au JoomlaDay 2014

          Commentaire


          • #6
            Re : Erreur 1064

            OMG, qui a programmé ce code SQL ? Un 1=1 est juste une abérration et cette pléthore de OR ... Un milliard de fois plus propre un WHERE (content_id IN SELECT('961','962', '963', ...))

            Programmation qui laisse planer des doutes sur la compétence du développeur...
            Christophe (cavo789)
            Développeur d'aeSecure; protection, optimisation et nettoyage (après hack) de sites web Apache https://www.aesecure.com/fr
            Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes

            Venez rencontrer la communauté francophone à l'occasion du JoomlaDay 2018 qui se tiendra les 18 et 19 mai 2018. Plus d'infos sur https://www.joomladay.fr

            Commentaire


            • #7
              Re : Erreur 1064

              Envoyé par cavo789 Voir le message
              OMG, qui a programmé ce code SQL ? Un 1=1 est juste une abérration et cette pléthore de OR ... Un milliard de fois plus propre un WHERE (content_id IN SELECT('961','962', '963', ...))

              Programmation qui laisse planer des doutes sur la compétence du développeur...
              En fait c'est juste "WHERE (content_id IN (961, ...))" (pas de SELECT) mais bon là n'est pas la question.
              On va attendre les retours d'e.van quand il aura le temps de tester tout ça.
              Folcomedia - Agence Web
              Développeur Joomla depuis 1724
              http://www.folcomedia.fr
              Sites internet | E-commerce | Hébergement | Application mobiles & Facebook
              Présent au JoomlaDay 2014

              Commentaire


              • #8
                Re : Erreur 1064

                Bonjour à tous et désolé de revenir vers vous aussi tardivement. J'ai supprimer les composants qui pouvaient, me semble-t-il, poser problème dans ma configuration (mais je tâtonne beaucoup). j'avais effectivement Acepolls pour des votes mais non-utilisé. Je l'ai supprimé mais pour le moment aucune amélioration, toujours erreur 1064. Que me conseillez-vous de faire ?
                PS : Je ne pensais pas que ce sujet allait créer autant de polémiques ! Mais cela permet de se rendre compte de l'engagement de la communauté Joomla. C'est d'ailleurs pour cette raison que j'avais choisi ce cms.

                Commentaire


                • #9
                  Re : Erreur 1064

                  Bonjour

                  Je ne vois aucune polémique ici, juste un échange d'idées. Si tu fais référence à mon intervention, je disais "juste" que je désapprouve le développeur car c'est de la programmation peu ..., comment rester poli, propre.

                  Ton problème est toujours là ? C'est donc que "le truc" est toujours publié.
                  Ne sachant pas de quoi nous parlons, difficile de t'aider : qui contient ce code alambiqué ? Est-ce un composant, est-ce un module, est-un plugin ? Je ne saurais te le dire.

                  A vue de nez (et ma vue est trouble s'il me faut regarder au loin) : je vois content_rating dans la liste des tables et donc, je me jete à l'eau : aurais-tu le plugin de type Content qui permet de voter sur un article ? Si oui, tente de le dépublier.

                  SELECT categories.title AS cat, content.id AS ID, content.access AS access, categories.title AS cat, users.email AS author_email, users.name AS author, content_rating.rating_sum AS rating_sum, content_rating.rating_count AS rating_count, categories.id AS CID FROM g25_content AS content LEFT JOIN g25_categories AS categories ON categories.id = content.catid LEFT JOIN g25_content_frontpage AS frontpage ON content.id = frontpage.content_id LEFT JOIN g25_users AS users ON users.id = content.created_by LEFT JOIN g25_content_rating AS content_rating ON content_rating.content_id = content.id WHERE 1=1 AND content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 OR content.id = 964 OR content.id = 963 OR content.id = 962 OR content.id = 961 OR content.id = 960 OR content.id = 959AND ( content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 OR content.id = 964 OR content.id = 963 OR content.id = 962 OR content.id = 961 OR content.id = 960 OR content.id = 959) AND categories.published = 1 ORDER BY content.created DESC

                  Si toujours erreur, désactive les plugins de type content; si toujours erreur, désactive les modules, etc. jusqu'au moment où tu trouves le coupable.

                  Je mets en rouge ci-dessus ce qui est incorrect dans ton SQL : la présence d'un critère "1=1" sans que "AND" suit avec un second critère. Quand on a plusieurs critères, il faut un (Critère1) AND (Critère2) AND ... alors que tu as (1=1) (content.id=968) ce qui est syntaxiquement faux.
                  Christophe (cavo789)
                  Développeur d'aeSecure; protection, optimisation et nettoyage (après hack) de sites web Apache https://www.aesecure.com/fr
                  Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes

                  Venez rencontrer la communauté francophone à l'occasion du JoomlaDay 2018 qui se tiendra les 18 et 19 mai 2018. Plus d'infos sur https://www.joomladay.fr

                  Commentaire


                  • #10
                    Re : Erreur 1064

                    Merci pour tes infoscavo789. J'ai désactivé le vote avec acepolls. Je crois que c'est le seul que je faisais justement la désactivation de mes plugins par page. Toujours la même erreur et je débutait la même opération pour les composants. Je vous tiens informés.

                    Commentaire


                    • #11
                      Re : Erreur 1064

                      Ca avance ! En dépubliant la première page de mes modules mon site est réapparu, mais sans le header ! + d'infos qu'en j'aurais affiné... Merci pour vos conseils. Je reviens vers vous un peu plus tard.

                      - - - Mise à jour - - -

                      Pour infos : http://www.ville-lagorgue.fr/fr/

                      Commentaire


                      • #12
                        Re : Erreur 1064

                        Pas mieux que cavo789, c'est malheureusement la seule méthode qui donnera des résultats dans ton cas.
                        Réactive les modules que tu as désactivés les uns après les autres jusqu'à trouver le coupable.

                        Quand on affiche ton site sans module il n'y a pas l'erreur donc c'est bien l'un d'eux qui pose problème.

                        Edit : sur une autre page, le problème est également présent, donc le module doit être publié sur toutes les pages je pense.
                        Folcomedia - Agence Web
                        Développeur Joomla depuis 1724
                        http://www.folcomedia.fr
                        Sites internet | E-commerce | Hébergement | Application mobiles & Facebook
                        Présent au JoomlaDay 2014

                        Commentaire


                        • #13
                          Re : Erreur 1064

                          Voilà ! A priori module : mod_news_pro_gk4 je l'ai changé pour un nouveau module GK5 qui fonctionne parfaitement.
                          Merci à tous pour votre aide. Bonne journée.

                          Commentaire


                          • #14
                            Re : Erreur 1064

                            Super !

                            Je confirme : "la boule de cristal n'aurait jamais permis de trouver cela sans une approche empirique, comme tu l'as faite" :-)

                            Bonne journée.
                            Christophe (cavo789)
                            Développeur d'aeSecure; protection, optimisation et nettoyage (après hack) de sites web Apache https://www.aesecure.com/fr
                            Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes

                            Venez rencontrer la communauté francophone à l'occasion du JoomlaDay 2018 qui se tiendra les 18 et 19 mai 2018. Plus d'infos sur https://www.joomladay.fr

                            Commentaire

                            Annonce

                            Réduire
                            1 sur 2 < >

                            C'est [Réglé] et on n'en parle plus ?

                            A quoi ça sert ?
                            La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                            Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                            Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                            Comment ajouter la mention [Réglé] à votre discussion ?
                            1 - Aller sur votre discussion et éditer votre premier message :


                            2 - Cliquer sur la liste déroulante Préfixe.

                            3 - Choisir le préfixe [Réglé].


                            4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                            2 sur 2 < >

                            Assistance au forum - Outil de publication d'infos de votre site

                            Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                            Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                            Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                            UTILISER À VOS PROPRES RISQUES :
                            L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                            Problèmes connus :
                            FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                            Installation :

                            1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                            Archive zip : https://github.com/AFUJ/FPA/zipball/master

                            2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                            3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                            4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                            5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                            6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                            et remplacer www. votresite .com par votre nom de domaine


                            Exemples:
                            Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                            Télécharger le script fpa-fr.php dans: /public_html/
                            Pour executer le script: http://www..com/fpa-fr.php

                            Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                            Télécharger le script fpa-fr.php dans: /public_html/cms/
                            Pour executer le script: http://www..com/cms/fpa-fr.php

                            En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                            Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                            Voir plus
                            Voir moins
                            Travaille ...
                            X