HTML页面显示PHP代码而不是运行它

时间:2018-01-28 04:15:02

标签: php html mysql

在我的HTML网页中,我想让我的下拉菜单从MySQL数据库中提取选项,所以我在内部嵌入了PHP。但是,当您选择下拉列表时,它实际上是'.$id.'而不是名称。

<label>Test Dropdown</label>
<select class="form-control" name="client">
    <option value="pick">CHOOSE</option>
    <?php
        $dbhost = '#########';
        $dbuser = '#########';
        $dbpass = '$$$$$$$$$$$$$$';
        $dbdata = '############';
        $conn = mysql_connect($dbhost, $dbuser, $dbpass);

        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }

        $sql = "SELECT * FROM client";
        mysql_select_db('######');
        $result = mysql_query($sql, $conn);

        if (mysql_num_rows($result) > 0) {
            while ($row = mysql_fetch_assoc($result)) {
                $id = $row['fname'];
                echo '<option value="'.$id.'">'.$id.'</option>';
            }
        }
    ?>
</select>

2 个答案:

答案 0 :(得分:0)

你得到的输出就是。$ id。这是因为你把它放在倒置的逗号中,所以它把它当作一个字符串而不是变量所以试试这个:

 echo '<option value="'.$id.'">.$id.</option>';

而不是

echo '<option value="'.$id.'">'.$id.'</option>';

答案 1 :(得分:0)

如果您的网站可以提供实际的.php文件,但PHP代码不能在您的.html或.htm中执行,那么您可能需要在网络服务器级别添加php支持。

  • 大多数托管计划通常都在LAMP堆栈上并支持PHP。如果您有这样的托管计划,可以使用.htaccess文件或通过CPanel / Plesk界面完成。请参阅this blog post,它解释了如何测试php是否适用于您的服务器并使其在.html或.htm文件中运行。

  • 但是,如果您有自定义Web服务器或IIS服务器,则可能需要先安装和配置PHP支持,然后才能为html文件启用它。)