<html>
<head>
<title>Test</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php
$username ="matt";
$pass = "bs12kfj";
$db = "mytest";
$tbl = "test2";
mysql_connect(localhost,$username,$pass);
mysql_select_db($db) or die( "Unable to select database");
$res = mysql_query("SELECT * FROM test2;");
$num = mysql_numrows($res);
echo "<table border='2'><tr>The Peeps</tr>";
while ($r = mysql_fetch_array($res)) {
echo "<tr>";
foreach($r as $rs){
echo "<td>$rs</td>";
}
echo "</tr>";
}
?>
</body>
此代码执行时没有错误,但输出包含每一行每一列的副本,就像这样。
<table border='2'><tr>The Peeps</tr><br/>
<tr><td>"matt"</td><td>"matt"</td><td>"phillips"</td><td>"phillips></td><td>"mathew.p@waburg.com"</td><td>"mathew.p@waburg.com"</td><td>20</td><td>20</td></tr><tr><td>"paul"</td><td>"paul"</td><td>"franklin"</td><td>"franklin"</td><td>"dude@live.com"</td><td>"dude@live.com"</td><td>30</td><td>30</td></tr><tr><td>"steve"</td><td>"steve"</td><td>"jobs"</td><td>"jobs"</td><td>"sjobs@apple.com"</td><td>"sjobs@apple.com"</td><td>23</td><td>23</td>
我不明白为什么只有一个 <td></td>
时每一列都是重复的echo 语句中的标记。
我还检查了数据库,该表不包含重复条目。
最佳答案
这就是mysql_fetch_array
如果您不提供第二个参数,则会执行以下操作:获取一个关联数组,其中值映射到列名和列索引。
您可以提供 MYSQL_ASSOC
作为第二个参数以仅包含列名(或使用 mysql_fetch_assoc
)。
关于PHP 在不存在时回显重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1947740/