SQL查询与二进制数据(PHP和MySQL)
发布时间:2021-03-16 08:47:12 所属栏目:MsSql教程 来源:网络整理
导读:这个网站过去帮了我很多,但现在我迷路了.在此先感谢您的指导. 我有一个包含二进制值的MySQL表,如下例所示.我不能改变桌子. CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT,`nid` binary(16) NOT NULL,`test` varchar(45) DEFAULT NULL
这个网站过去帮了我很多,但现在我迷路了.在此先感谢您的指导. 我有一个包含二进制值的MySQL表,如下例所示.我不能改变桌子. CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT,`nid` binary(16) NOT NULL,`test` varchar(45) DEFAULT NULL,PRIMARY KEY (`id`)) 这是nid的示例值:TFè>ZP?×jRZ {?×(并非所有显示,但所有16都在那里) 现在我想创建一个SQL查询来查找该值为true的行的id. SELECT id FROM test WHERE nid = 'TFè>ZP?×jRZ{?×'; ……不起作用.任何想法? 解 SELECT id FROM test WHERE HEX(nid) = 'DE46C83E5A50CED70E6A525A7BE6D709'; 我得到了正确的结果. 解决方法尝试在用于搜索的二进制数据前面添加X,x或0x:SELECT id FROM test WHERE pid = '0xTFè>ZP?×jRZ{?×'; 编辑:尝试这个: SELECT id FROM test WHERE BINARY pid = 'TFè>ZP?×jRZ{?×'; 要么 SELECT id FROM test WHERE HEX(pid) = BIN2HEX('0xTFè>ZP?×jRZ{?×'); 假设在这里:How to select with a binary field ? (php,mysql) 如果不是上面的工作:尝试以HEX格式获取pid,比如 SELECT id,HEX(pid) pid,test FROM test 然后在搜索时尝试: SELECT id,test FROM test WHERE HEX(pid) = '{$my_pid}' 但我不确定你是如何获得PHP的pid数据,甚至是否将二进制数据传递给你的select – where query …只是猜测由于php标签… (编辑:阜新站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |