Partage
  • Partager sur Facebook
  • Partager sur Twitter

récupérer des bits d'une table MySQL

    24 septembre 2018 à 12:20:18

    Bonjour à tous

    je voudrais stocker des bits sur un octet dans une colonne Mysql

    J'ai donc créer une colonne avec le Type "bit" et je stock par exemple 10

    Quand je récupère cette valeur dans une variable PHP et que je l'affiche, je n'obtiens pas de valeur numérique (j'obtiens un petit carré) et je peux rien en faire...

    J'aimerais que la variable qui a récupéré la valeur dans mysql m'affiche '0b10' ou '10' ou au pire, '2' la valeur en base 10 (si j'écris $a=0b10; echo $a; ça m'affiche 2

    -
    Edité par Nui Prabpai 24 septembre 2018 à 12:21:05

    • Partager sur Facebook
    • Partager sur Twitter
      24 septembre 2018 à 15:11:31

      bonjour

      regardes là, je pense que ça répond à ta problématique:

      http://us2.php.net/manual/fr/function.dechex.php

      • Partager sur Facebook
      • Partager sur Twitter
        24 septembre 2018 à 16:58:23

        Merci @bxdfr d'avoir répondu. Ce n'est pas vraiment ce que je recherche.

        J'ai besoin d'appliquer des masques binaires et je pensais pouvoir stocker des valeurs binaires dans MySql pour les récupérer dans une variable PHP

        Par exemple:

        $a=10011001
        $b=00010000
        $a&$b me retourne vrai

        Ca fonctionne en base 10 aussi (et du coup, je peux stocker dans MySql dans un tinyint)

        $a=153
        $b=16
        $a&$b me retourne vrai tout autant.

        Sauf que, pour une vérification visuel, du coup, le binaire est bien plus lisible.

        -
        Edité par Nui Prabpai 24 septembre 2018 à 17:00:13

        • Partager sur Facebook
        • Partager sur Twitter
          25 septembre 2018 à 14:25:26

          bonjour; 

          stocke tes valeurs dans du texte  tinytext par exemple dans mysql.

          par exemple valeur1 c'est 10011001 et valeur2 cest 10000 ( 153 et 16)

          tu recuperes tes valeurs ( c des  string; mais pas grave); 

          Php ne se complique pas la  vie.

          si tu fais valeur[0] & valeur[1] il te donne 10000; ce que tu cherches donc. ( et pourtant le resultat est de type string lol)

          • Partager sur Facebook
          • Partager sur Twitter
            25 septembre 2018 à 16:24:49

            C'est une possibilité en effet, mais quiz dans le cas ou il y aurait des dizaines de millier d'opérations à traiter?

            faudrait tester les deux cas et voir la différence de charge coté serveur.... je doute fort que ce soit kif-kit dans les deux cas. Je dirais même que la différence doit être énorme.. je testerais sous peu pour en être sûr.

            • Partager sur Facebook
            • Partager sur Twitter
              25 septembre 2018 à 17:04:57

              désolé ; jene comprends pas ce que tu veux dire. tu veux dire que en faisant tel que je l'indique , ca serait plus lourd pour faire les opérations ?

              • Partager sur Facebook
              • Partager sur Twitter
                25 septembre 2018 à 17:42:39

                Salut,

                De mon côté quand j'ai un type bit lors de la récupération j'ai une conversion auto en sa valeur entière (je ne sais pas si c'est que tu recherches), ça dépend sûrement de ce que tu utilises pour "attaquer" ta BDD ou comment a été compilé ton driver (libmysql ou mysqlnd) 

                Sinon tu as la possibilité de convertir tes colonnes de types bits en entier lors de la récupération avec CAST(nom_colonne AS UNSIGNED INTEGER)

                • Partager sur Facebook
                • Partager sur Twitter
                le bienfait n'est jamais perdu
                  25 septembre 2018 à 18:07:03

                  de toute facon à mon avis , sa question n'est pas claire !! (du moins je n'ai pas compris lol)

                  il indique vouloir les chiffres en binaire pour je cite :Sauf que, pour une vérification visuel, du coup, le binaire est bien plus lisible.


                  et ensuite en parle de milliers d'opérations ( en visuel ?)

                  l'ordi ne 'parle' que binaire; 

                  si tu fais une instruction sur deux chaines avec un opérateur l'ordi caste ( ou tente de caster) pour réussir ce que tu lui demande de faire et dans ton cas ca marche très bien.


                  • Partager sur Facebook
                  • Partager sur Twitter

                  récupérer des bits d'une table 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