使用mysqli_fetch_all显示SQL查询结果



下面是我的代码:

$sel = $conn->query("SELECT user FROM db_user WHERE level='1'");
$rsel = mysqli_fetch_all($sel, MYSQLI_ASSOC);
echo json_encode($rsel);

那么,它将给出结果:

[{"user"reg-60"},{"user"reg - 76"}]

如何获得结果只是用户的名称?在浏览器中输入show: regg -60, reg76

您可以使用foreach循环,然后使用implode

<?php
$sel = $conn->query("SELECT user FROM db_user WHERE level='1'");
$rsel = mysqli_fetch_all($sel, MYSQLI_ASSOC);
foreach ($rsel as $result){
$temp[]= $result["user"];
}
echo implode($temp,",");
?>

注意:对于您的案例,您将查询条件硬编码为level='1'。但是如果条件依赖于用户提供的数据(例如$_POST["level"]),那么你应该将选择查询修改为参数化准备语句(见下文)这是弹性的SQL注入

<?php
$level='1';
// the above can be a user-supplied data such as $_POST["level"];
$sel = $conn->prepare("SELECT user FROM db_user WHERE level=?");
$sel->bind_param("s",$level);
$sel->execute();
$result = $sel->get_result();
$rsel = $result->fetch_all(MYSQLI_ASSOC);
foreach ($rsel as $result){
$temp[]= $result["user"];
}
echo implode($temp,",");
?>

最新更新