基本了解PHP,Ajax,Mysqli教程

时间:2015-05-19 16:43:40

标签: php mysql ajax mysqli

关于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>

1 个答案:

答案 0 :(得分:4)

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