【求大神】现在有1000个string与一个MYSQL字典,查询这1000个string在MYSQL中的id并输出结果

 shyaiqq 发布于 2022-10-31 17:25

1.这是需要查询string的示例(txt文件)
vivo X5S L
CHE-TL00H
G621-TL00
vivo Y51A
KIW-AL10
Samsung SM-G9200
XiaoMi MI PAD
Samsung SM-G9008V
XiaoMi MI 4C
MX4 Pro
R7007
ALE-TL00
iPad3_4
XiaoMi HM NOTE 1TD
HUAWEI P7-L09
iPhone8_4

2.在Mysql中有这样的一张表(示例)
mid bid sid type productname
p1 mobile81 s000 mobile 多普达S900(Touch Diamond)
p2 mobile81 s000 mobile 多普达T8388(麒麟)
p3 mobile81 s000 mobile 多普达T8588
p4 mobile81 s265 mobile 多普达S1(触动版)
p5 mobile81 s000 mobile 多普达696
p6 mobile81 s000 mobile 多普达838
p7 mobile81 s000 mobile 多普达T2222(Touch Viva)
p8 mobile81 s265 mobile 多普达S1
p9 mobile81 s000 mobile 多普达T5399
p10 mobile81 s267 mobile 多普达A6188
p11 mobile81 s264 mobile 多普达D600(活力版)
p12 mobile81 s000 mobile 多普达P800
p13 mobile81 s000 mobile 多普达C720
p14 mobile81 s264 mobile 多普达D600

3.
需要查询1中在2中的结果并返回mid

2 个回答
  • 你这缺少 一层 键值对的关联关系,txt文件 中的 英文对应 数据表中的productname 其 product_code,这样查询太累人,不妨 用存储过程或者函数 或者 代码工具处理一下

    2022-10-31 23:03 回答
  • $prodArr = explode("\n",file_get_content('prods.txt')); // 获取txt中的文本并依据换行符将字符串转成数组
    $prods = implode(',',$prodArr); // 将产品数组转成where条件
    $sql = 'SELECT mid FROM prods WHERE "productname" IN('.$prods.')'; // 组合查询Mid的sql

    先暂时按照题主思路实现了一个,应该是题主想要的。

    各位如果发现有啥错误可以使劲拍砖

    2022-10-31 23:03 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有