簡體   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