PHP 回显 HTML 与 CSS 类导致错误?

抱歉,如果这是一个非常常见的问题,但这真的让我失望,因为我似乎无法找到我的语法错误在哪里:


<?php require "../connect.php";


$sql = "SELECT pro_exp_date, pro_exp_descr FROM pro_exp";

$result = mysqli_query($connect,$sql);


if ($result->num_rows > 0) :

    while ($row = mysqli_fetch_assoc($result)) :

        echo "<dt class='col-md-3'>" . $row["pro_exp_date"] . "</dt><dd class='col-md-9'><p>" . $row["pro_exp_descr"] . "</p></dd>";

    else :

        echo "0 results.";


...

错误似乎从 line 开始echo "<dt...,这是在页面的开头,在没有丢失分号或类似内容之前。这里的另一个用户建议使用非括号语法来简化编码,所以我就这样做了。我已经改变'了",反之亦然进出 HTML,没有任何效果。


添加:我添加了endwhile并且endif这似乎有效,没有错误——但我尝试恢复到正常的括号语法,它再次抛出错误。我什至一个一个地追溯并重写了括号以确保一切都合适,但这似乎不起作用。endwhile并且endif工作得很好。


添加 2:


这很好用:


if ($result->num_rows > 0) :

    while ($row = mysqli_fetch_assoc($result)) :

        echo "<dt class='col-md-3'>" . $row["pro_exp_date"] . "</dt><dd class='col-md-9'><p>" . $row["pro_exp_descr"] . "</p></dd>";

    endwhile;

else :

        echo "0 results.";

endif;

这不会:


if ($result->num_rows > 0) {

    while ($row = mysqli_fetch_assoc($result)) {

        echo "<dt class='col-md-3'>" . $row["pro_exp_date"] . "</dt><dd class='col-md-9'><p>" . $row["pro_exp_descr"] . "</p></dd>";

    } else {

        echo "0 results.";

}

我不知道为什么。但是endifandendwhile工作正常。


UYOU
浏览 112回答 2
2回答

慕姐4208626

您需要关闭您的whileandif语句:if ($result->num_rows > 0) :&nbsp; &nbsp; while ($row = mysqli_fetch_assoc($result)) :&nbsp; &nbsp; &nbsp; &nbsp; echo "<dt class='col-md-3'>" . $row["pro_exp_date"] . "</dt><dd class='col-md-9'><p>" . $row["pro_exp_descr"] . "</p></dd>";&nbsp; &nbsp; endwhile;else :&nbsp; &nbsp; echo "0 results.";endif;我的建议是恢复到方括号 ({和})。

茅侃侃

如果您打算对控制结构使用替代语法,那么它最适合用作一种模板语言。例如$result = mysqli_query($connect,$sql);if ($result->num_rows > 0) :    while ($row = mysqli_fetch_assoc($result)) : ?>        <dt class="col-md-3"><?= htmlspecialchars($row['pro_exp_date']) ?></dt>        <dd class="col-md-9">            <p><?= htmlspecialchars($row['pro_exp_descr']) ?></p>        </dd>    <?php endwhile; else : ?>    0 results<?php endif ?>
打开App,查看更多内容
随时随地看视频慕课网APP