gpt4 book ai didi

php变量导致while循环无限循环显示数据

转载 作者:行者123 更新时间:2023-12-02 05:17:25 25 4
gpt4 key购买 nike

我对这些代码片段在 while 循环中显示结果有何不同感到困惑。第一段代码完美运行,但第二段代码显示结果,但在无限循环中这样做,只是重复结果。有人可以向我解释为什么吗?

$stmt = $db_conn->prepare($sql);

$stmt->execute(array("Lorna", 3));

while($result = $stmt->fetch()){
echo $result["name"] . "<br />" . $result["description"] . "<br />";
}

如果我将 $stmt->fetch() 放入一个名为 $data 的变量中并尝试传递它而不是将 $stmt->fetch() 放入 while 循环中,我会得到一个无限循环。

$stmt = $db_conn->prepare($sql);

$stmt->execute(array("Lorna", 3));

$data = $stmt->fetch();

while($result = $data){
echo $result["name"] . "<br />" . $result["description"] . "<br />";
}

提前致谢!

最佳答案

If 是对 fetch() 的调用这使得行前进。

案例一

while($result = $stmt->fetch()){
//every iteration executes fetch
//advances it by one row
//turns to false when no more rows
}

案例2

$data = $stmt->fetch();
//now at first row
while($result = $data){
//always at first row
//always evaluates to true (no calls to fetch)
}

关于php变量导致while循环无限循环显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14429606/

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