MySQL函数继续返回空白页面

时间:2015-12-31 04:50:18

标签: php mysql

有人可以确保我这样做吗?

我不是最好的功能。

function checkMaintenance {
    $db = doDB();
    $sql = "SELECT * FROM Maintenance WHERE Enabled = 1";
    $stmt = $db->query($sql);
    $msg = "";
    if ($stmt->num_rows > 1) {
      while ($rows = $stmt->fetch_assoc()) {
        $msg = "<div class="alert alert-danger" role="alert"><strong>Ruff oh!</strong> '".$rows['Message']."' ?></div>";
        return $msg;
      }
    } else {
      $msg = "";
      return $msg;
    }
    return $msg;
  }
 ?>

5 个答案:

答案 0 :(得分:2)

我猜函数应该是这样的:

function checkMaintenance() {
    $db = doDB();
    $sql = "SELECT * FROM Maintenance WHERE Enabled = 1";
    $stmt = $db->query($sql);
    $msg = "";
    if ($stmt->num_rows > 0) {
      while ($rows = $stmt->fetch_assoc()) {
        $msg = "<div class='alert alert-danger' role='alert'><strong>Ruff oh!</strong>" . $rows['Message'] . "</div>";
        return $msg;
      }
    }
    return $msg;
  }

并将其命名为

<?= checkMaintenance() ?><?php echo checkMaintenance() ?>

答案 1 :(得分:1)

替换行:

 if ($stmt->num_rows > 1) {

有了这个:

 if ($stmt->num_rows > 0) {

语法错误

 $msg = "..............  .$rows['Message']."' ?></div>";

替换为

 $msg = '<div class="alert alert-danger" role="alert"><strong>Ruff oh!</strong>' . $rows['Message']. '</div>';

答案 2 :(得分:0)

遵循以下几点:

1)首先检查$stmt是否返回数据。

2)将if ($stmt->num_rows > 1) {替换为if ($stmt->num_rows > 0) {

3)替换

$msg = "<div class="alert alert-danger" role="alert"><strong>Ruff oh!</strong> '".$rows['Message']."' ?></div>";

$msg = "<div class='alert alert-danger' role='alert'><strong>Ruff oh!</strong> ".$rows['Message']."</div>";

4)调用<?php echo checkMaintenance() ?>等函数。

答案 3 :(得分:0)

您需要进行两次更正:

变化:

$msg = "<div class="alert alert-danger" role="alert"><strong>Ruff oh!</strong> '".$rows['Message']."' ?></div>";

要:

$msg = '<div class="alert alert-danger" role="alert"><strong>Ruff oh!</strong>' . $rows['Message']. '</div>';

你在这里混用双引号,导致解析错误。您可以互换使用单引号和双引号,但不应混淆它们。

应正确关闭它们。

 if ($stmt->num_rows > 1) {

 if ($stmt->num_rows > 0) {

您正在检查结果集是否包含至少2行(> 1),即 不正确,有时候,如果你有一行,它就不会认为它显示错误的结果。

因此,检查结果集是否至少有一行。 (> 0)

答案 4 :(得分:0)

试试这个:

NONE

我做了一些需要修理的东西。如果 MySql 结果集具有至少单个记录,则应返回 HTML 结构。

希望这对你有所帮助。