致命错误:无法在第 228 行的 /home/william/public_html/forums/index.php 中使用类型为 mysqli_result 的对象作为数组

Posted

技术标签:

【中文标题】致命错误:无法在第 228 行的 /home/william/public_html/forums/index.php 中使用类型为 mysqli_result 的对象作为数组【英文标题】:Fatal error: Cannot use object of type mysqli_result as array in /home/william/public_html/forums/index.php on line 228 【发布时间】:2009-07-17 18:56:55 【问题描述】:

为什么这不起作用?我不断收到这个错误。 // 设置论坛主题、发帖数和最后发帖 xxxxx

        $query = array(
            'SELECT'    => 't.subject',
            'FROM'      => 'topics AS t, pbb_forums AS f',
            'WHERE'     => 't.last_post_id = f.last_post_id');

        $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);

        $forum_page['item_body']['info']['topics'] = '<li class="info-topics"><strong>'.forum_number_format($cur_forum['num_topics']).'</strong> <span class="label">'.(($cur_forum['num_topics'] == 1) ? $lang_index['topic'] : $lang_index['topics']).'</span></li>';
        $forum_page['item_body']['info']['posts'] = '<li class="info-posts"><strong>'.forum_number_format($cur_forum['num_posts']).'</strong> <span class="label">'.(($cur_forum['num_posts'] == 1) ? $lang_index['post'] : $lang_index['posts']).'</span></li>';

        if ($cur_forum['last_post'] != '')
            $forum_page['item_body']['info']['lastpost'] = '<li class="info-lastpost"><span class="label">'.$lang_index['Last post'].'</span> <strong><a href="'.forum_link($forum_url['post'], $cur_forum['last_post_id']).'">'.$result['subject'].'</a></strong> <cite>'.sprintf($lang_index['Last poster'], forum_htmlencode($cur_forum['last_poster'])).'</cite></li>';
        else
            $forum_page['item_body']['info']['lastpost'] = '<li class="info-lastpost"><strong>'.$lang_common['Never'].'</strong></li>';

【问题讨论】:

是fluxBB吗?如果你做 print_r($result); 你会得到什么?调用 build_query() 方法后? 【参考方案1】:

您正在尝试将 mysqli 结果 ($result) 用作数组,而不对其调用 fetch_array

您使用的任何框架都可能为此提供包装器。

【讨论】:

致命错误:调用未定义函数 fetch_array() 我已将这一行添加到其中:$result = $forum_db->query_build($query) 或 error(FILE , LINE); $result = fetch_array($result); 它不仅仅是“fetch_array”,它是什么取决于你使用的框架【参考方案2】:

好吧,您似乎将“某物”(可能是 $result ?)作为对象;并且您将所有内容都用作数组。

也许您有办法以数组而不是对象的形式获取数据? (可能是您正在使用的课程的一种方式?)

或者,您需要以对象而不是数组的形式访问数据;也许 $result->subject,而不是 $result['subject'] 会做?

【讨论】:

以上是关于致命错误:无法在第 228 行的 /home/william/public_html/forums/index.php 中使用类型为 mysqli_result 的对象作为数组的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:在第 2 行的 index.php 中调用未定义函数 get_header()

困惑:PHP 致命错误:在第 0 行的未知中抛出没有堆栈帧的异常?

PHP 致命错误:在第 45 行的 admin\includes\html\database.class.php 中的非对象上调用成员函数 prepare()

致命错误:在第 11 行的 E:\xampp\htdocs\teach\mongo\index.php 中找不到类 'MongoClient' - Mongodb + XAMPP

如何解决这个错误?致命错误:在第X行的... / magento18 / lib / Zend / Uri.php中调用未定义的函数ctype_alnum()?

PHP 致命错误:在第 47 行的 /var/www/znata.com/app/AppKernel.php 中找不到类 'Application\Sonata\MediaBundle\Applica