PHP脚本太早终止

时间:2012-11-26 21:30:33

标签: php html mysql

我正在尝试编写一个非常基本的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终止于我试图回显表行的行,这意味着我没有得到我需要的值。这是输出结果的图像:sorry about the funky highlighting

有谁知道为什么会这样,或者潜在的解决方案是什么?感谢您的投入!

2 个答案:

答案 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文件,它正在抛弃它。

如果这些建议都没有意义,那么我不知所措,但如果您提供更多信息,我可以进一步帮助您。