PHP代码显示在HTML代码之后

时间:2015-10-25 18:37:01

标签: html mysql mysqli

我有一个显示我的数据库内容表的PHP代码,但我想知道为什么它在我的代码实际写入之前在页脚的html代码之后显示。只有当我使用mysqli而不是mysql方法连接数据库时才会发生这种情况。

      <div class="1">
        <div class="2">
          <div class="3">  



    <?php
$db = new mysqli('...', '...', '...', '...');
    if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

$sql = <<<SQL
    SELECT *
    FROM `...`
SQL;

if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');
}

echo "<table class='table'>";

while($row = $result->fetch_assoc()){

    echo "<tr class='info'>
                <td>" . $row['...'] . "</td>
                <td>" . $row['...'] . "</td>

                </tr>";  
}

?>
  </div>
    </div> 
    </div>
          <hr>
      <footer>
        <p>&copy; HTML CODE HERE</p>
      </footer>

3 个答案:

答案 0 :(得分:2)

你从php回复的html中缺少

</table>标记。

在while循环之后回显此标记。

答案 1 :(得分:1)

表结束标记错过了。

<div class="1">
     <div class="2">
     <div class="3">  

        <?php
        $db = new mysqli('...', '...', '...', '...');
        if($db->connect_errno > 0){
        die('Unable to connect to database [' . $db->connect_error . ']');
        }

        $sql = <<<SQL
        SELECT *
        FROM `...`
        SQL;

        if(!$result = $db->query($sql)){
            die('There was an error running the query [' . $db->error . ']');
        }

        echo "<table class='table'>";

    while($row = $result->fetch_assoc()){

        echo "<tr class='info'>
                    <td>" . $row['...'] . "</td>
                    <td>" . $row['...'] . "</td>

                    </tr>";  
    }

    ?>
    </table>
    </div>
    </div> 
    </div>
    <hr>
    <footer> <p>&copy; HTML CODE HERE</p></footer>

答案 2 :(得分:1)

缺少

 echo "</table>"; 

while cicle之后