0

我有一个新闻管理页面,其中包含以下标记:

<ul>
  <?php newsArchive(); ?>
</ul>

newsArchive 函数如下所示:

function newsArchive(){
    global $mysqli;
    $newsArchive = $mysqli->prepare('SELECT news_id,news_title,news_date FROM news ORDER by news_id DESC');
    $newsArchive->execute();
    $newsArchive->bind_result($archiveID,$archiveTitle,$archiveDate);
    while ($newsArchive->fetch()) {
      $archiveDate = date('M Y', strtotime($archiveDate));
      echo
      '<li class="clear">'.
        '<a class="left" href="news?edit-news='.$archiveID.'">'.$archiveTitle.'</a>'.
        '<span class="right">'.$archiveDate.'</span>'.
      '</li>';
    }
  }

现在这一切正常,除非我单击上述 PHP 生成的链接之一,它会将我带到最后带有 URL 参数的同一页面。例如

mydomain.com/news?edit-news=1

然后我得到错误:Fatal error: Call to a member function execute() on a non-object in

为什么会这样?这是运行相同脚本的相同页面。没有 URL 参数也可以正常工作,但这些参数不应干扰新闻存档。

4

1 回答 1

0

所以看起来问题实际上与页面上的其他准备语句有关。

例如,我没有关闭这些陈述:

$newsArchive->close();

因此,这不允许下一个连接正常工作。

于 2013-10-15T12:05:22.073 回答