星空2020 2022-03-26 10:17 采纳率: 64.1%
浏览 73
已结题

php+mysql变量为逗号隔开的数据,如何循环批量查询?

逗号隔开的变量数据,循环批量多表(A表,B表,C表,D表)查询,如何修改?
mysql表中查询的字段分别为:A表和B表是字段是name,C表是username,D表的字段是uname

单张表目前都无法实现。

//search input框的值为逗号分开的:AAA,BBB,CCC,DDD
$s = $_POST['search']; //获取searc框里name的值如,AAA,BBB,CCC
$s =explode(',',$s); //以逗号分割数据
for($i=0;$i<count($s);$i++)//错的?
$sql= "select * from A表 where name in ('$s[$i]')"; //这种写法我在输入框里输入AAA,BBB却只能查询到BBB,没有AAA的信息。
$result = $conn->query($sql);

  • 写回答

1条回答 默认 最新

  • PHP技术栈 2022-03-26 20:17
    关注

    改成如下试一下:

    //search input框的值为逗号分开的:AAA,BBB,CCC,DDD
    $s = $_POST['search']; //获取searc框里name的值如,AAA,BBB,CCC
    $s =explode(',',$s); //以逗号分割数据
    for($i=0;$i<count($s);$i++){
         $strList .= $s[$i].‘,’;
    }
    $strList =  substr($strList,0,-1);
    $sql= "select * from A表 where find_in_set  (name,$strList)";
    $result = $conn->query($sql);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 修改了问题 3月27日
  • 修改了问题 3月27日
  • 展开全部

悬赏问题

  • ¥15 Linux环境下CA证书更新问题
  • ¥60 微信小程序如何上传QQ聊天文件
  • ¥300 开发的系统遭到无良商家的破解,请问如何防止再次发生,并追回损失
  • ¥15 java代码写在记事本上后在cmd上运行时无报错但又没生成文件
  • ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
  • ¥15 PPOCRLabel
  • ¥15 混合键合键合机对准标识
  • ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?