当url参数出现时,mysqli语句不起作用

时间:2013-10-14 13:41:49

标签: php html mysqli

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

<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参数可以正常工作,但这些参数不应该干扰新闻档案。

1 个答案:

答案 0 :(得分:0)

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

我没有以例如:

结束陈述
$newsArchive->close();

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