Requête SQL avec données binaires (PHP et MySQL)
Ce site m'a beaucoup aidé dans le passé, mais maintenant je suis perdu. Merci d'avance pour vos conseils.
J'ai une table MySQL qui contient une valeur Binaire, comme dans l'exemple ci-dessous. Je ne peux pas changer de table.
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nid` binary(16) NOT NULL,
`test` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`))
Ce un exemple de valeur de nid: ÞFÈ>ZPÎ×jRZ{æ×
(pas tout montrer, mais tous les 16 sont là)
Maintenant, je veux créer une Requête SQL pour rechercher l'id de la ligne où cette valeur est true.
SELECT id FROM test WHERE nid = 'ÞFÈ>ZPÎ×jRZ{æ×';
... ne fonctionne pas. Une idée?
SOLUTION
L'obtention du nid au format HEX a fait le tour. Il en résulte DE46C83E5A50CED70E6A525A7BE6D709 et quand je l'utilise dans la requête comme ceci ...
SELECT id FROM test WHERE HEX(nid) = 'DE46C83E5A50CED70E6A525A7BE6D709';
J'obtiens le bon résultat.
source d'informationauteur user2007877
Vous devez vous connecter pour publier un commentaire.
Essayez d'ajouter
X
x
ou0x
devant de données binaires utilisés pour la recherche:EDIT: essayez également ceci:
OU
comme le suppose ici: Comment sélectionner un champ binaire ? (php,mysql)
SI de RIEN à PARTIR de ci-DESSUS FONCTIONNE: Essayez d'obtenir le
pid
dansHEX
format, commepuis lors de la recherche essayez seulement:
Mais je ne suis pas sûr de savoir comment pouvez-Vous obtenir les
pid
de données en PHP ou même si Vous transmettez les données binaires dans Votreselect - where
requête... Juste deviner en raison de laphp
tag...essayer:
La dernière publication de jixiang m'a orienté dans la bonne direction pour la recherche d'un champ binaire:
Cela fonctionne pour moi...