我正在尝试编写一个非常基本的PHP脚本来从数据库中获取一些信息并将其输出到表中。这是我写的代码:
<html>
<head>
<title>FamInfo from dbCAN</title>
<meta name="description" content="Test PHP page">
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>
<body>
<h1>FamInfo from dbCAN</h1>
<table align="center" border="1" cellpadding="5">
<th>Family ID</th><th>Signature Domain</th><th>class</th><th>note</th><th>activity</th>
<?php
include '/vars.php'; // fixed, no change
$conn = mysql_connect($hostname,$username,$password);
$db_selected = mysql_select_db($db,$conn);
$result = mysql_query("select * from FamInfo",$conn);
while ($row = mysql_fetch_array($result))
{
echo '<tr>'; // terminates here, at the second quote
echo "<td>" . $row["FamID"] . "</td>";
echo "<td>" . $row["SigDomain"] . "</td>";
echo "<td>" . $row["class"] . "</td>";
echo "<td>" . $row["note"] . "</td>";
echo "<td>" . $row["activity"] . "</td>";
echo '</tr><br>';
}
mysql_close($conn);
?>
</table>
</body>
出于某种原因,似乎PHP终止于我试图回显表行的行,这意味着我没有得到我需要的值。这是输出结果的图像:
有谁知道为什么会这样,或者潜在的解决方案是什么?感谢您的投入!
答案 0 :(得分:2)
您没有用分号结束include '/vars.php'
语句。您还应该在行标记<tr></tr>
中附加标题行。
表行之间也不需要<br>
标记。
/vars.php
也可能出错。你检查过错误日志了吗?您也可以发布该代码。
答案 1 :(得分:1)
好吧,好像你的PHP代码没有被执行,而是被渲染为文本。有几个原因:
1)如果你的文件是.html文件,你需要在你的apache配置中启用php解析,以允许它支持html文件中的php解析。这假设您使用apache作为您的网络服务器。如果没有,有办法从html文件启用PHP解析。对于Apache,请检查.htaccess,httpd.conf或您定义mimetypes的其他地方并添加:
AddHandler application/x-httpd-php .html
2)如果你有一个.php文件并且看到这个,你需要确保在你的环境中启用了PHP。
3)如果一切顺利且你看到了这个问题,那么问题可能是一个未封闭的php标签(?&gt;)某处,很可能就是vars.php文件,它正在抛弃它。
如果这些建议都没有意义,那么我不知所措,但如果您提供更多信息,我可以进一步帮助您。