【发布时间】:2017-05-30 00:59:18
【问题描述】:
我正在使用以下代码在 html 表中显示 MySQL 表中的行。我已经在 php 中定义了表头 - 请任何人都可以建议我如何修改代码以阻止它将 MySQL 列标题也带入表中?
目前,它先显示表标题(第 1 行),然后是 MySQL 列标题(第 2 行),然后记录开始显示在第 3 行。
我尝试在代码中的不同点使用 -N 来抑制列标题,但它只会引发错误。
<?php
// Create connection
$con = mysql_connect("localhost","xxxxxxxxxx","xxxxxxxxx");
// Check connection
if (!$con) {
die("Connection failed: " . mysql_error());
}
mysql_select_db("xxxxxxxxxxxx",$con);
$sql = "SELECT * FROM SiteList";
$myData = mysql_query($sql,$con);
echo "<table border=1>
<tr>
<th>ID</th>
<th>Site_Name</th>
<th>Weather_Forecast</th>
<th>Forecast_Date</th>
<th>Forecast_Time</th>
<th>Further_Information_about_This_Site</th>
</tr>";
while($record = mysql_fetch_array($myData)) {
echo "<tr>";
echo "<td>" . $record['ID'] . "</td>";
echo "<td>" . $record['Site_Name'] . "</td>";
echo "<td>" . $record['Weather_Forecast'] . "</td>";
echo "<td>" . $record['Forecast_Date'] . "</td>";
echo "<td>" . $record['Forecast_Time'] . "</td>";
echo "<td>" . $record['Further_Information_about_This_Site'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
【问题讨论】:
-
不,它不会那样做。这些行必须在您的数据库中。
-
嗨@LightnessRacesinOrbit 所以你可以在普通的选择查询中隐藏列标题(就像这里讨论的stackoverflow.com/questions/16101495/…),但是当你通过php调用时你不能做同样的事情吗?肯定有办法吗?
-
你误会了。我要说的是,没有什么可以压制的。 MySQL CLI 或 PHP 都不会将列标题注入您的结果集中。您看到的值实际上必须是数据的一部分(可能是您错误地将它们放在那里)。您可以简单地进入您的数据库并查看一下,以验证这一点。
-
“我尝试在代码中的不同点使用 -N 来抑制列标题,但它只会引发错误。” 通过猜测编程不会'不起作用。 切换到
mysql命令行实用程序与 PHP 或 MySQL PHP 库完全无关。 -
@LightnessRacesinOrbit 道歉并原谅我 - 你是绝对正确的。当我回去检查我的数据库内容时,我意识到我一定是无意中将 MySQL 列标题复制到了数据库的第二行。现在将它们删除并获得我需要的结果。谢谢你,并为我的新手疏忽道歉。