0

我试图将我的代码写得尽可能短,但我在这里发现了一些奇怪的东西。

如果我在“while 循环”中获取查询,系统就会崩溃。

这是一个例子。

$sql = 'SELECT * FROM table';
while ($row = $db_ob->query($sql)->fetch_array()){
echo $row['one'];
}

这是因为我的机器还是我该怎么办?

如果我像我的第二个示例那样编写它,则没有问题

$data =  $db_ob->query($sql)->fetch_array()['one'];
4

2 回答 2

3

这是因为您在每次循环迭代时重新运行查询,所以它永远不会结束。您需要确保只运行一次查询,然后遍历结果。

$sql = 'SELECT * FROM table';
$result = $db_ob->query($sql);
while ($row = $result->fetch_array()) {
    echo $row['one'];
}
于 2013-11-13T08:34:31.920 回答
0

你的脚本执行mysql查询,检索数据'N'次,所以你需要重写,

$sql = 'SELECT * FROM table';
$Result = $db_ob->query($sql);
while ($row = $Result->fetch_array()){
    echo $row['one'];
}
于 2013-11-13T08:36:47.253 回答