Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de syntaxe MySQL

Sujet résolu
    12 février 2012 à 18:59:19

    Bonjour amis Zéros!

    Je souhaiterai savoir ce qui cloche dans ma syntaxe!
    Pouvez-vous m'aider?

    SELECT t.COUNT(*) nb, s.nb_modifs m
    FROM `' . $_GET['id_tarif'] . '` t
    INNER JOIN `tarifs` s
    ON s.id = t;
    


    Je récupère bien mon nb_modifs mais pas le count sur la première table :o

    Merci d'avance :D
    • Partager sur Facebook
    • Partager sur Twitter
      12 février 2012 à 20:11:51

      Salut,

      Essaies ça
      SELECT COUNT(t.*) as nb, s.nb_modifs m
      FROM ' . $_GET['id_tarif'] . ' t
      INNER JOIN tarifs s
      ON s.id = t.id;
      
      • Partager sur Facebook
      • Partager sur Twitter
        12 février 2012 à 20:28:48

        Salut cdie!

        Merci pour ta réponse mais ça ne marche pas :o
        • Partager sur Facebook
        • Partager sur Twitter
          12 février 2012 à 21:12:36

          > ça ne marche pas

          Voilà un message d'erreur clair...

          Outre l'injection SQL monumentale et le fait que la requête ne veut rien dire, j'ai un doute : tu cherches à faire quoi ?
          • Partager sur Facebook
          • Partager sur Twitter
            12 février 2012 à 21:57:13

            Je sais que ça peut paraitre bête, surtout pour un utilisateur confirmé des bases de données, mais je cherche à perfectionner les temps de traitement.

            Je pourrai obtenir le résultat que je souhaite en faisant 2 requêtes mais je souhaitais compter le nombre d'entrées dans une table x et récupérer une entrée spécifique dans une autre, où l'id correspond au nom de la table x
            • Partager sur Facebook
            • Partager sur Twitter
              12 février 2012 à 21:59:13

              Tes tables avec un nom dynamique, ca sent la mauvaise conception. Y a quoi dans ces tables ? Comment ça se fait que le nom soit dynamique ?
              • Partager sur Facebook
              • Partager sur Twitter
                12 février 2012 à 22:15:25

                C'est dynamique car je ne savais pas s'il était possible de les rendre variables avec des "?" ou des ":" :p

                Va pour les 2 requêtes! Merci...
                • Partager sur Facebook
                • Partager sur Twitter
                  13 février 2012 à 9:39:30

                  Ça sent la BDD foireuse...

                  PS : enlève cette injection sql...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 février 2012 à 18:58:51

                    Ok, j'ai séparé les requêtes!

                    Par contre j'en profite, Taguan, pour te demander comment ne pas concaténer mes noms de tables dans la requête. J'ai lu dans le bouquin de m@teo que ce genre de requêtes ouvrait des failles... J'ai essayé avec "?" puis "execute" mais çà ne fonctionne pas, Ça doit être tout bête, j'en suis sûr...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 février 2012 à 20:39:24

                      Fais au moins une validation des noms de tables autorisés, en les mettant dans un array...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 février 2012 à 15:16:34

                        Sinon, en préparant la requête dans une variable comme ceci

                        <?php
                        $req = "SELECT ma_table FROM " . $_GET['id'] . " WHERE blabla = 'true';";
                        
                        $sql=$bdd->query($req);
                        ?>
                        


                        Suis-je toujours confronté au problème de failles?

                        Par contre, j'ai pas compris la validation des noms de tables autorisés, tu peux m'expliquer?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          15 février 2012 à 17:27:06

                          > Suis-je toujours confronté au problème de failles?

                          As-tu remarqué que tu mets toujours un $_GET['id'] dans ton code sql ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            15 février 2012 à 22:39:49

                            Tu es désagréable comme ça dans ta vie de tous les jours où c'est juste un rôle que tu te donnes ici?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              15 février 2012 à 22:47:32

                              Je mange des orphelins trisomiques au petit déjeuner.

                              Accessoirement, tiens, la becquée.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                15 février 2012 à 22:55:15

                                C'est bien ce qu'il me semblait. Faut se détendre tu sais, ici c'est plein de petits zéros, comme moi :)
                                Si ça t'énerve de répondre à leurs satanées questions de noobs ne leur réponds pas, à moins que cela n'aide ton égo... "Lord" :-°
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Problème de syntaxe MySQL

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown