我是PHP的新手。我一直在“战术上借用”一些现有代码并将其修改为学习工具。我发现this question并希望第一个答案可以帮助我理解如何显示从MySQL表中提取的数据,但我仍然卡住了。
<html dir="ltr" lang="en-US" >
<head>
<meta charset="UTF-8" />
<title>Search</title>
</head>
<body>
<h1>Search By Name</h1>
<form action="search.php" method="get">
<label>Name:
<input type="text" name="keyname" />
</label>
<input type="submit" value="Search" />
</form>
</body>
</html>
<?php
$searchTerm = trim($_GET['keyname']);
if($searchTerm == ""){
echo '<script src=enterAName.js></script>';
exit();
}
$username = "XX";
$password = "XX";
$hostname = "XX";
$database = "XX";
$link = mysqli_connect($hostname, $username, $password, $database);
$query = "SELECT * FROM testTable WHERE name = '$searchTerm'";
$results = mysqli_query($link, $query);
if(mysqli_num_rows($results) >= 1){
echo '<p>Results for ' .$searchTerm. '! </p>
<table>
<tr>
<th>Name</th>
<th>Date</th>
</tr>';
while ($row = $result->fetch_assoc()){//mysqli_fetch_array($result)) {
echo '
<tr>
<td>'.$row['name'].'</td>
<td>'.$row['date'].'</td>
</tr>';
}
echo '
</table>';
} else
echo "There was no matching record for the name " . $searchTerm . ". Please check your spelling and try again.";
?>
根据我的阅读,for
语句下的第一行将设置一个表格,其中将显示数据。然后,这些数据将在下面几行的while
语句中循环显示。不幸的是,表中没有显示数据;出现第一行并显示标题(我知道应显示的数据),但没有显示数据。
我在这个基本的例子中遗漏了什么吗?我忽略了什么?