我正在尝试在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>";

10-07 12:26