0

我是 PHP 编程新手,我尝试学习如何使用数据库。我准备好了 MySQL,有 1 个数据库,包含 1 个包含 7 个条目的表。问题是,当我尝试将条目输出到一个非常简单的表时,在创建表之前它会无故输出 7 次 <BR />。代码是这样的:

<?php
$con=mysqli_connect("localhost","root","**********", "*****");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}  else { echo "Connection was OK! <br/>";}

$result = mysqli_query($con,"SELECT * FROM pelates") or die(mysql_error());
echo "<table border='1'><tr><th>ID</th><th>Onoma</th><th>Epwnymo</th><th>Hlikia</th><th>Genethlia</th></tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr> <td>" . $row['id'] . "</td> <td>" . $row['name'] . "</td> <td>" . $row['surname'] . "</td> <td>" . $row['age'] . "</td> <td>" . $row['birthday'] . "</td></tr>";
echo "<br>";
}
echo "</table>";
mysqli_close($con);
?>

我相信的一切看起来都不错。这是输出的一部分:

Connection was OK! <br/><table border='1'><tr><th>ID</th><th>Onoma</th>

如您所见,消息“连接正常”和表格之间只有 1 个 < br />。实际上它会产生另外 7 个!这是 Chrome 中检查元素的结果(也与 Firefox 相同!):

Connection was OK! 
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<table border='1'><tr><th>

据我了解,当我定义:

$result = mysqli_query($con,"SELECT * FROM pelates") or die(mysql_error());

它需要 7 个结果到“内存”中,但这应该不是真实打印的。为什么它打印 7 个breakrows,而我没有告诉它?我能做些什么来防止它?

非常感谢您抽出宝贵的时间,很抱歉发了这么长的帖子。

4

3 回答 3

3

您在表格中的行<br> 之间</tr><br/><tr>.放置正如您提到的 FF 和 Chrome中的检查元素在表格之前显示它们。这是因为<br>不属于那里,浏览器必须把它放在某个地方,所以它把它们放在桌子之前。

如果您要显示源代码(而不是检查元素),您会得到正确的结果。

于 2013-05-13T09:52:14.197 回答
1

都是因为这条线

echo "<br>";

去掉它。

原因是您没有<br/>放入<td></td>标签。所以它来了<table>

键盘

于 2013-05-13T09:42:38.760 回答
-1

删除echo "<br>";内部while循环

于 2013-05-13T09:38:36.667 回答