调用未定义的方法CI_DB_mysqli_result :: results()

时间:2016-09-14 08:02:33

标签: php codeigniter

我是CodeIgniter的新手。我收到了以下错误。有人可以帮帮我吗。我在StackOverflow上检查了各种答案,但没有人帮助过我。

An uncaught Exception was encountered

Type: Error

Message: Call to undefined method CI_DB_mysqli_result::results()

Filename: /Applications/XAMPP/xamppfiles/htdocs/CodeIgniter/application/controllers/Stud_controller.php

Line Number: 10

Backtrace:

File: /Applications/XAMPP/xamppfiles/htdocs/codeigniter/index.php
Line: 315
Function: require_once

以下是控制器代码

<?php
Class Stud_controller extends CI_Controller{
    function __construct(){
        parent::__construct();
        $this->load->database();
    }

    public function index(){
        $query = $this->db->get("stud");
        $data['records'] = $query -> results();
        $this->load->view('Stud_view',$data);
    }
}
?>

这是视图代码

<!DOCTYPE html> 
<html lang = "en">

   <head> 
      <meta charset = "utf-8"> 
      <title>Students Example</title> 
   </head>
   <body>
        <a href = "<?php echo base_url(); ?>
         index.php/stud/add_view">Add</a>
   </body>

</html>

目前未使用来自控制器的数据。 任何帮助将受到高度赞赏。提前谢谢。

2 个答案:

答案 0 :(得分:3)

你应该使用这样的东西

$data['records'] = $query -> result_array();

答案 1 :(得分:0)

在您的情况下,您可以使用:

$query = $this->db->get("stud")->result();

$query = $this->db->get("stud")->result_array();

要访问数据,您可以将 $ query 放在foreach中,如下例所示,并将其作为对象或数组进行访问。

您有两种方法:

<强>结果()

  

此方法将查询结果作为对象数组返回   失败的空数组。

示例:

$query = $this->db->query("YOUR QUERY");

foreach ($query->result() as $row)
{
        echo $row->title;
        echo $row->name;
        echo $row->body;
}

result_array()

  

此方法将查询结果作为纯数组返回,或者为空   没有产生结果的数组。

示例:

$query = $this->db->query("YOUR QUERY");

foreach ($query->result_array() as $row)
{
        echo $row['title'];
        echo $row['name'];
        echo $row['body'];
}

Generating Query Results