【问题标题】:Call to a member function result_array() on a non-object 4在非对象 4 上调用成员函数 result_array()
【发布时间】:2017-07-05 12:03:08
【问题描述】:

我在打开我的网站时遇到了麻烦,它所说的对非对象上的成员函数 result_array() 的调用,我无法弄清楚如何解决它。我希望你们中的任何人都可以帮助我。

这是我的网络控制器

 <?php
    defined('BASEPATH') OR exit('No direct script access allowed');

     class Web extends CI_Controller {

    public function index(){
        $data = array(
            "produk_populers" => $this->mymodel->GetProduk()->result_array()

    );

    $comp = array(
        "header" => $this->load->view("header",array(),true),
        "navbar" => $this->load->view("navbar",array(),true),
        "iklan" => $this->load->view("iklan",array(),true),
        "produk_populer" => $this->load->view("produk_populer",$data,true),
        "kategori" => $this->load->view("kategori",array(),true),
        "footer" => $this->load->view("footer",array(),true),

    );

    $this->load->view("index",$comp);

    }

    public function html_produk_populer(){
        $data = array(
            "produk_populer" => $this->mymodel->GetProduk()
    );
        return $this->load->view("produk_populer",$data,true);

    }



}

这是我的 produk_populer.php

    <div class="allcontain">
    <div class="feturedsection">
    <h1 class="text-center"><span class="bdots">&bullet;</span>P R O D U K<span class="carstxt">P O P U L E R</span>&bullet;</h1>
  </div>


    <div class="feturedimage">
        <div class="row firstrow">
            <div class="col-lg-6 costumcol colborder1">
                <div class="row costumrow">

                    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 img1colon">
                        <img src="<?php echo base_url()."assets/"; ?>images/<?php echo $produk_populer['gambar_produk']; ?>" alt="floridina">
                    </div>

                <?php foreach ($produk_populers as $produk_populer) { ?>
                    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 txt1colon">
                        <div class="featurecontant">
                            <h1><?php echo $produk_populer['nama_produk']; ?></h1>
                            <p><?php echo $produk_populer['info_produk']; ?></p>
                            <h1><?php echo $produk_populer['harga_produk']; ?></h1>
                            <!--<<button id="btnRM" onClick="rmtxt()">READ MORE</button>
                            <div id="readmore">
                                    <h1></h1>
                                    <p><br>
                                    sed do eiusmod tempor incididunt <br>"Lorem ipsum dolor sit amet, consectetur ,<br>
                                    sed do eiusmod tempor incididunt"Lorem ipsum dolor sit amet, consectetur1 ,
                                    sed do eiusmod tempor incididunt"Lorem ipsum dolor sit amet, consectetur1
                                    sed do eiusmod tempor incididunt"Lorem ipsum dolor sit amet, consectetur1<br>
                                    </p>
                                    <button id="btnRL">READ LESS</button>
                            </div>-->

                        </div>

                    </div>
                        <?php } ?>
                </div>
            </div>


                <!--<div class="col-lg-6 costumcol colborder2">
                <div class="row costumrow">
                <?php //foreach ($produk_populers as $produk_populer) { ?>
                    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 img2colon">
                        <img src="<?php //echo base_url()."assets/"; ?>images/<?php //echo $produk_populer['gambar_produk']; ?>" alt="floridina">
                    </div>


                    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 txt1colon ">
                        <div class="featurecontant">
                            <h1><?php //echo $produk_populer['nama_produk']; ?></h1>
                            <p><?php //echo $produk_populer['info_produk']; ?></p>
                            <h1><?php //echo $produk_populer['harga_produk']; ?></h1>

                            <div id="readmore">
                                    <h1></h1>
                                    <p><br>
                                    sed do eiusmod tempor incididunt <br>"Lorem ipsum dolor sit amet, consectetur ,<br>
                                    sed do eiusmod tempor incididunt"Lorem ipsum dolor sit amet, consectetur1 ,
                                    sed do eiusmod tempor incididunt"Lorem ipsum dolor sit amet, consectetur1
                                    sed do eiusmod tempor incididunt"Lorem ipsum dolor sit amet, consectetur1<br>
                                    </p>
                                    <button id="btnRL">READ LESS</button>
                            </div>
                        </div>
                    </div>

                    <?php } ?>

                </div> -->

            </div>

        </div>
    </div>

这也是 mymodel.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Mymodel extends CI_Model {
public function GetProduk($where=""){
    $data = $this->db->query('select * from produk');
    return $data -> result_array();

}



}

所以这就是我需要问的,我希望有任何人可以帮助我。谢谢

【问题讨论】:

  • 向我们展示GetProduk()类的代码
  • 你没有提到型号代码所以先提
  • 这是型号代码。我将其命名为 mymodel.php
  • 你试过 var_dump $this->db 吗?我在问你是否在某处加载了数据库,

标签: php codeigniter


【解决方案1】:

假设您已经加载了 DB 类,以下应该可以工作。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Mymodel extends CI_Model {
public function GetProduk($where=""){
    $data = $this->db->query('select * from produk');
    return $data;

}



}

【讨论】:

    【解决方案2】:
    $this->mymodel->GetProduk()->result_array();
    

    $this-&gt;mymodel 不工作。你没有加载模型。您必须在使用 $this-&gt;load-&gt;model('mymodel') 调用它之前加载 mymodel。或者你也可以使用 autoload.php 从全局加载它

    【讨论】:

    • 但我已经使用 autoload.php 加载了它,但它仍然无法工作。感谢您的快速答复
    • GetProduk() 函数返回什么?它是db的对象吗?你能告诉我们那个功能或细节吗?
    • $this->mymodel->GetProduk()->result_array() 仅当 $this->mymodel->GetProduk() 返回 db 对象时才有效,例如 return $this->db- >get('银行');
    • 我已经编辑了我的帖子并且有模型代码。有什么问题吗?
    • 你已经在返回return $data -&gt; result_array();,所以你为什么还要打电话给result_array()$this-&gt;mymodel-&gt;GetProduk() 正在向您返回一个数组。就用它吧。无需调用此$this-&gt;mymodel-&gt;GetProduk()-&gt;result_array(); 只需调用$this-&gt;mymodel-&gt;GetProduk();
    猜你喜欢
    • 2015-02-06
    • 2013-08-23
    • 2015-11-14
    • 2017-10-22
    • 1970-01-01
    • 2017-02-16
    • 2016-11-20
    • 2010-09-26
    • 2012-04-20
    相关资源
    最近更新 更多