Partage
  • Partager sur Facebook
  • Partager sur Twitter

Champ base de donnée et espaces

    7 juin 2007 à 15:57:57

    Bonjour,

    Je me pose une petite question, est ce que mettre des espaces dans le nom d'un champ d'une base de donnée est génant ? :euh:
    • Partager sur Facebook
    • Partager sur Twitter
      7 juin 2007 à 15:59:59

      Dans une base de donner tu appelles une colone avec des espaces cela peut poser probleme.
      Les espaces sont à éviter dans tout language de code, c'est un faux ami.
      • Partager sur Facebook
      • Partager sur Twitter
        7 juin 2007 à 16:02:08

        Si c'est nécessaire, mets plutot des _ mais dans le nom de champ je ne pense pas que ça pose problème, dans celui d'une BDD oui, mais les champs je sait pas je vais essayer.
        • Partager sur Facebook
        • Partager sur Twitter
          7 juin 2007 à 16:02:43

          Merci, donc si dans mon interface l'utilisateur peut créer des champs dans une table peut on en php remplacer les espaces par des underscore pour éviter les erreurs ?
          • Partager sur Facebook
          • Partager sur Twitter
            7 juin 2007 à 16:05:15

            Oui, les _ sont indolores :lol:
            Mais j'ai essayé avec des espaces et ça marche...
            • Partager sur Facebook
            • Partager sur Twitter
              7 juin 2007 à 16:07:01

              Il m'est donc pas nécessaire de remplacer les espaces par _ ?
              • Partager sur Facebook
              • Partager sur Twitter
                7 juin 2007 à 16:07:10

                C'est chiant à manipuler, mais pas impossible. Tu peux en mettre, mais je te le déconseille. Utilise plutôt des _, comme ça a été dit.

                Si tu tiens vraiment à utiliser des espaces, il faudra protéger le nom de tes champs à chaque requête :

                SELECT `un champ avec des espaces` FROM `une table` WHERE `un autre champ` = 5


                Quand t'en auras marre de mettre des `` (Accent grave, Alt gr + 7) partout, tu remplaceras tes espaces par des _ ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  7 juin 2007 à 16:16:56

                  Ok, moi dans quand je programme je met des _ le problème est que si je fait une interface pour que des utilisateurs ajoute des champs est ce que je peux éviter qu'il y ait des espaces ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 juin 2007 à 16:22:29

                    $chaine=ereg_replace(" ","_",$chaine);

                    Remplace les " " par des "_" dans $chaine.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 juin 2007 à 16:37:57

                      Je suppose donc que les caractères spéciaux peuvent poser problème comme ' par exemple ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 juin 2007 à 16:38:45

                        Y'a pas de raisons qu'un utilisateur ait une quelconque influence sur les champs d'une base de données.

                        Une base de données a une structure (tables, champs) fixe, seules les entrées peuvent être ajoutées/supprimées/modifiées dynamiquement.

                        Il va falloir revoir la conception de ta base (C'est un conseil sérieux, tu ne t'en sortiras pas sinon).
                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 juin 2007 à 16:44:21

                          Oui mais c'est une application de gestion que je développe.
                          Cela ne gène donc pas ?
                          C'est seulement à un endroit pour éviter que les utilisateurs de l'application aient à aller dans phpmyadmin car je suis parti de données déja existantes, il m'était donc difficile de changer les structures..
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Champ base de donnée et espaces

                          × 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