gpt4 book ai didi

php - 如何在使用 exit() 时使用 fetch_assoc while 循环获取所有数据?

转载 作者:行者123 更新时间:2023-11-29 07:31:03 25 4
gpt4 key购买 nike

我似乎无法用 assocexit(); 回显我的所有数据。我查找了其他类似的问题,发现了这个:

if(isset($_POST['postuserid'])){
$uid = $_POST['postuserid'];



$ssql = "SELECT * FROM foodid WHERE postid=$uid";
$rresult = mysqli_query($db,$ssql);
while ($lrow = mysqli_fetch_assoc($rresult)){
if($lrow !== FALSE) {
echo $lrow['userid'];
exit();
}
}
}
}

没有成功。我还尝试将 exit() 放在每个括号外,但我仍然得到相同的结果。我一次只获取一个数据。我知道使用 exit() 会导致这种情况,但是有没有办法用它获取所有数据?

最佳答案

解决方法有多种,我会展示比较常用的方法:

$ssql = "SELECT * FROM foodid WHERE postid=$uid"; 
$rresult = mysqli_query($db,$ssql);
if($rresult){
$data = mysqli_fetch_all($rresult, MYSQLI_ASSOC);
die(json_encode(mysqli_fetch_all($rresult, MYSQLI_ASSOC)));
} else {
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
// Do your error logging.
die();
}

或者在没有 fetch_all 的情况下你想改变一些数据:

$ssql = "SELECT * FROM foodid WHERE postid=$uid"; 
$rresult = mysqli_query($db,$ssql);
while ($lrow = mysqli_fetch_assoc($rresult)){
$ret[] = $lrow;
}

die(json_encode($ret));

注意事项:

  1. 请记住,您对 mysql 注入(inject)攻击持开放态度,已解决 如果您要使用 prepared statements .

  2. 在第二个示例中,我没有诊断查询是否成功。不这样做是一种不好的做法。

关于php - 如何在使用 exit() 时使用 fetch_assoc while 循环获取所有数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51255675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com