关于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>
答案 0 :(得分:4)
mysqli_fetch_array()
为您提取单个结果行。当你第一次调用它时,它会返回第一个。当你第二次调用它时,它会返回第二次 - 依此类推。因此,通过对其执行while
循环,您将继续获得结果,直到没有更多结果。通过设置$row
,您可以确保每次都能获得相同的变量。