繁体   English   中英

while($row = mysqli_fetch_array($result)) 是如何工作的?

[英]How does while($row = mysqli_fetch_array($result)) work?

WHILE语句所在的 PHP 文档的第 40 行,它似乎声明了一个新变量$row并将其设置为等于某个值,而不是提供条件语句进行评估? 这不会总是评估为真吗? 它的目的是什么? 为什么要使用 WHILE 语句?

<!DOCTYPE html>
<html>
<head>
<style>
table {
    width: 100%;
    border-collapse: collapse;
}

table, td, th {
    border: 1px solid black;
    padding: 5px;
}

th {text-align: left;}
</style>
</head>
<body>

<?php
$q = intval($_GET['q']);

$con = mysqli_connect('localhost','peter','abc123','my_db');
if (!$con) {
    die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM user WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);

echo "<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
    echo "<tr>";
    echo "<td>" . $row['FirstName'] . "</td>";
    echo "<td>" . $row['LastName'] . "</td>";
    echo "<td>" . $row['Age'] . "</td>";
    echo "<td>" . $row['Hometown'] . "</td>";
    echo "<td>" . $row['Job'] . "</td>";
    echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
</body>
</html>

mysqli_fetch_array()为您获取单个结果行。 当你第一次调用它时,它返回第一个。 当您第二次调用它时,它会返回第二个 - 依此类推。 因此,通过对其进行while循环,您将不断获得结果,直到不再有结果为止。 通过将$row设置$row它,您可以确保每次都获得相同的变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM