【发布时间】:2014-01-16 19:10:08
【问题描述】:
我正在尝试遍历我的数据库并显示所有条目。
这是我的代码:
<?php
// Create connection
$con=mysqli_connect("host","username","password","database");
// Check connection
if (mysqli_connect_errno($con)) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//Get number of rows
$sql="SELECT * FROM TBook";
$result=mysqli_query($con, $sql);
$rowcount=mysqli_num_rows($result);
//Start table
echo "<table>";
echo "<tr><th>Date</th><th>Period</th><th>Room</th><th>Teacher Initials</th></tr>";
// Loop through database
for ($i = 1; $i < $rowcount; $i++) {
$row = mysql_fetch_array($result);
$date = $row['date'];
$period = $row['period'];
$room = $row['room'];
$teacherinitials = $row['teacherinitials'];
// Show entries
echo "<tr>
<td>".$date."</td>
<td>".$period."</td>
<td>".$room."</td>
<td>".$teacherinitials."</td>
</tr>";
}
echo "</table>"
?>
但是,当我运行它时,只显示列的标题。
出了什么问题?
【问题讨论】:
-
如果只返回 1 行,它将永远不会显示
for ($i = 0; $i < $rowcount; $i++)... 但是您正在组合 MySQLi 和 MySQL:而不是for ($i = 1; $i < $rowcount; $i++) { $row = mysql_fetch_array($result);,使用while ($row = $result->fetch_assoc()) { -
你要的是:
while ($row = mysql_fetch_array($result)) { .... } -
谢谢马克,这解决了它!
标签: php html mysql sql database