在mysql php中,For Loop不能与Array一起工作。

我想把一个数组中的值传递给一个变量

$coode = '111,222,333';

$rollnum = explode(",", $coode);
for($x = 0; $x < count($rollnum); $x++){
  $products = $db->query("SELECT name FROM studentstb WHERE roll_no=".$rollnum[$x]."");
                       while($row = $products->fetch_assoc()){
                          $stdname =$row['name'];
                       }

}
echo($stdname);

我想把结果显示为tolu,tulu,talai,我想把这些值放到一个变量中,然后爆炸,检查数据库来检索它们的名字,然后显示它们。

解决方案:

我看到两个问题,第一个问题是 N + 1 查询,第二个是行 $stdname = $row['name'];

解决办法

$codes = '1,2,3';

$sql = "SELECT name FROM users WHERE id IN ({$codes})";
$result = $mysqli -> query($sql);
$namesArr = $result->fetch_all(MYSQLI_ASSOC);

$updatedNamesArr = array_map(function ($name){
    return $name['name'];
}, $namesArr);

var_dump(implode(',', $updatedNamesArr));

产量

"Dmitry,Raf,Api"

给TA打赏
共{{data.count}}人
人已打赏
未分类

将React类组件转换为功能组件

2022-9-8 10:27:18

未分类

如何根据其他变量将未知的变量累加打印到有头行的列中?

2022-9-8 10:27:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索