Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête modifiée, quel effet ?

    17 mars 2006 à 18:58:41

    J'ai changé il y a peu toutes mes requêtes en
    while ($news = mysql_fetch_array(mysql_query("SELECT `pseudo`,`pseudo_modification`,`titre`,`news`,`timestamp`,`timestamp_modification` FROM `news` ORDER BY `timestamp` DESC LIMIT $premiereNewsAAfficher,$nombreDeNewsParPage")))

    au lieu de la méthode du cours.
    Cela produit-il le même effet ou refait-il la même requête à chaque vérification de validité du while et, le cas échéant, prend-il de la BP inutilement ?


    Merci d'avance :)
    Astro-Pépito
    • Partager sur Facebook
    • Partager sur Twitter
      17 mars 2006 à 19:30:16

      Non c'est pareil que faire :

      $res_sql = mysql_query("select ....");

      while($news = mysql_fetch_array($res_sql)){

      }

      Sauf que cela fait un code pas propre pour sa lecture.
      • Partager sur Facebook
      • Partager sur Twitter
        17 mars 2006 à 19:31:15

        Je pense que le résultat est le même mais le code est moins lisible & moi facile à débugguer le cas écheant ...
        • Partager sur Facebook
        • Partager sur Twitter
          17 mars 2006 à 19:32:43

          Le resulatat est surement le meme mais ça n'a aucun interet, c'est moche, et mal oragnisé et on en gagne rien :)
          • Partager sur Facebook
          • Partager sur Twitter
            17 mars 2006 à 19:45:59

            Bonsoir,

            Si tu avais testé, tu aurais vu que ça refait la requête à chaque fois...
            Donc NON, ce n'est pas du tout pareil que la "méthode du cours" !
            Et pire que consommer des ressources inutilement, cela provoque une boucle infinie (la requête s'exécute, mysql_fetch_array() traite la première "entrée" renvoyée, puis la requête s'exécute à nouveau, et le traitement se répète sur la première entrée...)

            Donc dé-change tout de suite toutes tes requêtes ;)
            • Partager sur Facebook
            • Partager sur Twitter
              17 mars 2006 à 19:55:28

              Et puis on utilise pas les ` c'est moche, ca sert à rien et c'est pas conforme SQL (j'ai un doute la, mateo n'utilise pas ca dans ses cours j'espère ?)

              edit : bah non, alors pourquoi vous en utilisez plein partout o_O
              • Partager sur Facebook
              • Partager sur Twitter
                17 mars 2006 à 20:02:08

                winzou < moi par exemple, au début je n'en mettais pas, puis j'ai lu un tuto MySQL (de "Vos tutos", sur la v2) où l'auteur conseillait de "protéger les noms de champs avec des backquotes (`)"... (heureusement tu as rectifié le tir :p )

                Et puis aussi, je pense que la plupart des Zér0s utilisent phpMyAdmin (cf. le cours), et comme les requêtes générées dedans contiennent des backquotes... :-°
                • Partager sur Facebook
                • Partager sur Twitter
                  17 mars 2006 à 20:22:41

                  Effectivement, j'ai pu enfin tester et ça fait une boucle infinie ^^
                  Mais je trouvais pas forcément ça moins lisible, au contraire :p
                  J'ai tout changé, c'ets redevenu normal.


                  Pour les backquotes, c'est Bison qui avez conseillé ça je crois quand j'avais demandé un conseil sur le forum de la v2. Depuis, j'en mets tout le temps ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 mars 2006 à 20:36:28

                    et bah il a tord et, en conséquence, toi aussi :p

                    La seule utilité des ` c'est de pouvoir utiliser des noms réservés. Mais les noms réservés sont, par définition, réservés ! Donc on ne les utilise pas, point.

                    Donc du coup les ` ne servent plus à rien, à part à faire moche, rendre illisible la requete et ne pas être conforme au SQL.

                    Et si comme moi un jour t'as besoin de changer de base de données, tu va devoir réécrire toutes tes requetes car MySQL est le seul à accepter les ` (normal ils sont pas conforme SQL). Et je peux te dire que c'est chiant, très chiant :D
                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 mars 2006 à 20:40:14

                      Moi je te crois.. j'ai du changer plus de 600 requêtes SQL à cause de ces saleté de ` que j'avais pris (la mauvaise) l'habitude de mettre à tous mes champs alors que j'en avais presque aucun reservés.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 mars 2006 à 20:48:21

                        Bienvenue au club :D

                        Encore heureux que t'avais aucun nom de colonne réservé, car MySQL est le seul à accepter ca aussi.
                        T'aurais du les renommer, et donc changer tout tes scripts. Tu te serais encore plus amusé :D
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 mars 2006 à 21:29:40

                          J'en avais quand même quelques uns.. du genre appeler un champ "order" quelle bonne idée :lol:
                          J'ai fait juste quelques 10aines d'ALTER TABLE, et du temps de perdu à faire des remplacer de partout.

                          Enfin bon, je me joins à toi: Ne jamais utiliser la facilité des ` pour échapper les champs mysql.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            18 mars 2006 à 11:46:11

                            En même temps, pour les virer tous d'un coup, suffit d'ouvrir chaque page, de faire un remplacement des ` par '' (rien quoi :p), ça s'enlève en moins de temps qu'il ne faut pour le penser ^^

                            Enfin c'est bon à savoir.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Requête modifiée, quel effet ?

                            × 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