我正在尝试在HTML表中显示MySQL记录。我已经完成了这个过程,并且在我的php文档中它显示了表名,描述等,但是没有显示数据库中的数据。
这是我的代码:
<?php
//establishing connection
mysql_connect('localhost', 'root', 'root');
//selecting a database
mysql_select_db('festival');
$sql="SELECT * FROM deejay";
$records=mysql_query($sql);
?>
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<h2>Festival Diagram</h2>
<img src="diagram.jpg" alt="diagram">
<h1>Deejay Data</h1>
<table width="300" border="1" cellpadding="10" cellspacing="1">
<tr>
<th>dj_id</th>
<th>name</th>
<th>country</th>
<th>info</th>
</tr>
<?php
while($deejay=mysql_fetch_assoc($records)){
echo "<tr>";
echo "<td>" .$records['dj_id']."</td>";
echo "<td>" .$records['name']."</td>";
echo "<td>" .$records['country']."</td>";
echo "<td>" .$records['info']."</td>";
echo "</tr>";
}
?>
</table>
</body>
</html>
最佳答案
当您在此处运行代码时:$deejay=mysql_fetch_assoc($records)
您将$deejay
分配为当前行项目(表中从$records
获得的下一行)。换句话说,$records
仍然是整个检索到的数据,而$deejay
是您所在的当前行。因此,您需要说:$deejay['...']
而不是$record['...']
。
echo "<td>".$deejay['dj_id']."</td>";
echo "<td>".$deejay['name']."</td>";
echo "<td>".$deejay['country']."</td>";
echo "<td>".$deejay['info']."</td>";