任何人都可以告诉我为什么这段代码不会输出所有的表信息,只显示一个名称和电子邮件,表格中有超过1个
<?
$user_result = "select * from mytable;";
$qry = mysql_query($user_result) OR die(mysql_error());
$user_array = mysql_fetch_assoc($qry);
echo "<center>";
echo "<table CELLPADDING=10 border =1 >";
echo "<tr>";
echo "<td>".$user_array['email']."</td>";
echo "<td>".$user_array['firstname']."</td>";
echo "</tr>";
echo "</table>";
mysql_close();
?>
答案 0 :(得分:1)
正如提到的一些评论,你需要像这样循环结果。
<?
$query = "select * from mytable";
$user_result = mysql_query($query) OR die(mysql_error());
echo "<center>";
echo "<table>";
while ($user_array = mysql_fetch_assoc($user_result)) {
echo "<tr>";
echo "<td>" . $user_array['email'] . "</td>";
echo "<td>" . $user_array['firstname'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>";
mysql_close();
?>
(我还切换了你的变量名,以避免在查询和查询结果之间产生混淆)
答案 1 :(得分:1)
使用while循环 -
echo "<center>";
echo "<table CELLPADDING=10 border =1 >";
while($user_array = mysql_fetch_assoc($qry))
{
echo "<tr>";
echo "<td>".$user_array['email']."</td>";
echo "<td>".$user_array['firstname']."</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>";
答案 2 :(得分:1)
(似乎我把它放在一起,已经给出了其他答案;无论如何都要提交)
您需要使用循环。我在下面的示例中使用了while
循环。
<?
$user_result = "select * from mytable;";
$qry = mysql_query($user_result) OR die(mysql_error());
echo "<center>"; // these are deprecated btw. Use CSS
echo "<table CELLPADDING=10 border =1 >";
echo "<tr> <th>Email</th> <th>Name</th></tr>"; // added as column headers
while($user_array = mysql_fetch_array($qry))
{
echo "<tr>";
echo "<td>".$user_array['email']."</td>";
echo "<td>".$user_array['firstname']."</td>";
echo "</tr>";
}
echo "</table>";
echo "</center>"; // these are deprecated btw
mysql_close();
?>
<强>脚注:强>
mysql_*
函数弃用通知:
http://www.php.net/manual/en/intro.mysql.php
从PHP 5.5.0开始,不推荐使用此扩展,不建议用于编写新代码,因为将来会删除它。相反,应使用mysqli或PDO_MySQL扩展名。在选择MySQL API时,另请参阅MySQL API Overview以获得进一步的帮助。
这些功能允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»http://www.mysql.com/。
可以在»http://dev.mysql.com/doc/找到MySQL的文档。