![](/img/trans.png)
[英]"while($row = mysqli_fetch_array($result))" might be empty?
[英]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.