抱歉,如果这是一个非常常见的问题,但这真的让我失望,因为我似乎无法找到我的语法错误在哪里:
<?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工作正常。
慕姐4208626
茅侃侃