我是 PHP 的新手,我只是不明白while
循环如何与mysqli_fetch_assoc
. 前者基于表达式执行语句,后者从数据库中检索一行。所以如果不结束循环,它将继续无限迭代第一行中的字段;
<?php
$connect_db=mysqli_connect('localhost','root','root','db');
$fetch_data="SELECT * FROM tabel";
$query_db=mysqli_query($connect_db,$fetch_data);
$fetch_row=mysqli_fetch_assoc($query_db);
while($fetch_row){
$column_2_array=$fetch_row['column_2'];
echo($column_2_array);
break;
}
?>
我正在摸不着头脑的是,如果整个表达式被放在括号内而不仅仅是变量,那么循环将迭代列的全部内容。
<?php
$connect_db=mysqli_connect('localhost','root','root','db');
$fetch_data="SELECT * FROM tabel";
$query_db=mysqli_query($connect_db,$fetch_data);
while($fetch_row=mysqli_fetch_assoc($query_db)){
$column_2_array=$fetch_row['column_2'];
echo($column_2_array);
}
?>
为什么在上面的第二个示例中,在第一个循环while
之后,在选定列上迭代后续行?
进一步澄清我的问题,如果我break
从第一个示例中删除,那么示例 1 和示例 2 之间有什么区别?这让我感到困惑,因为我认为它们是相同的。