Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter数据库代码不工作_Php_Database_Codeigniter - Fatal编程技术网

Php codeigniter数据库代码不工作

Php codeigniter数据库代码不工作,php,database,codeigniter,Php,Database,Codeigniter,我目前是CodeIgniter的初学者,我正在尝试让一个简单的MVC数据库工作,但它不会。我试图从表中选择一条记录并将其显示在网页上,但结果却出现了错误。我将在下面发布我的代码,以便您可以看到我正在使用的代码: 型号: function grabData() { $sql = "SELECT * FROM books WHERE id = 1"; $config['hostname'] = "localhost"; $config['username'] = "root

我目前是CodeIgniter的初学者,我正在尝试让一个简单的MVC数据库工作,但它不会。我试图从表中选择一条记录并将其显示在网页上,但结果却出现了错误。我将在下面发布我的代码,以便您可以看到我正在使用的代码:

型号:

function grabData() {

    $sql = "SELECT * FROM books WHERE id = 1";
    $config['hostname'] = "localhost";
    $config['username'] = "root";
    $config['password'] = "";
    $config['database'] = "bookstore";
    $config['dbdriver'] = "mysql";
    $config['dbprefix'] = "";
    $config['pconnect'] = FALSE;
    $config['db_debug'] = TRUE;
    $config['cache_on'] = FALSE;
    $config['cachedir'] = "";
    $config['char_set'] = "utf8";
    $config['dbcollat'] = "utf8_general_ci";

    // manually connect to database
    $this->load->database($config, TRUE);

    // do some stuff
    $query = $this->db->get('books');
    if ($query->num_rows() > 0) {
        return true;
    } else {
      return false;
    }


}
$web['title'] = "CI Hello World App!";
$this->load->view('helloworld_view', $web);

$this->load->model('helloworld_model');
$data['result'] = $this->helloworld_model->grabData();

$this->load->view('helloworld_view', $data);
1     The Grapes of Wrath            John Steinbeck     12.99
2     Ninteen Eighty-Four            George Orwell      8.99
3     The Wind-Up Bird Chronicle     Haruki Murakami    7.99
A PHP Error was encountered

Severity: Notice

Message: Undefined variable: result

Filename: views/helloworld_view.php

Line Number: 8

null

boolean true
控制器:

function grabData() {

    $sql = "SELECT * FROM books WHERE id = 1";
    $config['hostname'] = "localhost";
    $config['username'] = "root";
    $config['password'] = "";
    $config['database'] = "bookstore";
    $config['dbdriver'] = "mysql";
    $config['dbprefix'] = "";
    $config['pconnect'] = FALSE;
    $config['db_debug'] = TRUE;
    $config['cache_on'] = FALSE;
    $config['cachedir'] = "";
    $config['char_set'] = "utf8";
    $config['dbcollat'] = "utf8_general_ci";

    // manually connect to database
    $this->load->database($config, TRUE);

    // do some stuff
    $query = $this->db->get('books');
    if ($query->num_rows() > 0) {
        return true;
    } else {
      return false;
    }


}
$web['title'] = "CI Hello World App!";
$this->load->view('helloworld_view', $web);

$this->load->model('helloworld_model');
$data['result'] = $this->helloworld_model->grabData();

$this->load->view('helloworld_view', $data);
1     The Grapes of Wrath            John Steinbeck     12.99
2     Ninteen Eighty-Four            George Orwell      8.99
3     The Wind-Up Bird Chronicle     Haruki Murakami    7.99
A PHP Error was encountered

Severity: Notice

Message: Undefined variable: result

Filename: views/helloworld_view.php

Line Number: 8

null

boolean true
表格内容:

function grabData() {

    $sql = "SELECT * FROM books WHERE id = 1";
    $config['hostname'] = "localhost";
    $config['username'] = "root";
    $config['password'] = "";
    $config['database'] = "bookstore";
    $config['dbdriver'] = "mysql";
    $config['dbprefix'] = "";
    $config['pconnect'] = FALSE;
    $config['db_debug'] = TRUE;
    $config['cache_on'] = FALSE;
    $config['cachedir'] = "";
    $config['char_set'] = "utf8";
    $config['dbcollat'] = "utf8_general_ci";

    // manually connect to database
    $this->load->database($config, TRUE);

    // do some stuff
    $query = $this->db->get('books');
    if ($query->num_rows() > 0) {
        return true;
    } else {
      return false;
    }


}
$web['title'] = "CI Hello World App!";
$this->load->view('helloworld_view', $web);

$this->load->model('helloworld_model');
$data['result'] = $this->helloworld_model->grabData();

$this->load->view('helloworld_view', $data);
1     The Grapes of Wrath            John Steinbeck     12.99
2     Ninteen Eighty-Four            George Orwell      8.99
3     The Wind-Up Bird Chronicle     Haruki Murakami    7.99
A PHP Error was encountered

Severity: Notice

Message: Undefined variable: result

Filename: views/helloworld_view.php

Line Number: 8

null

boolean true
错误:

function grabData() {

    $sql = "SELECT * FROM books WHERE id = 1";
    $config['hostname'] = "localhost";
    $config['username'] = "root";
    $config['password'] = "";
    $config['database'] = "bookstore";
    $config['dbdriver'] = "mysql";
    $config['dbprefix'] = "";
    $config['pconnect'] = FALSE;
    $config['db_debug'] = TRUE;
    $config['cache_on'] = FALSE;
    $config['cachedir'] = "";
    $config['char_set'] = "utf8";
    $config['dbcollat'] = "utf8_general_ci";

    // manually connect to database
    $this->load->database($config, TRUE);

    // do some stuff
    $query = $this->db->get('books');
    if ($query->num_rows() > 0) {
        return true;
    } else {
      return false;
    }


}
$web['title'] = "CI Hello World App!";
$this->load->view('helloworld_view', $web);

$this->load->model('helloworld_model');
$data['result'] = $this->helloworld_model->grabData();

$this->load->view('helloworld_view', $data);
1     The Grapes of Wrath            John Steinbeck     12.99
2     Ninteen Eighty-Four            George Orwell      8.99
3     The Wind-Up Bird Chronicle     Haruki Murakami    7.99
A PHP Error was encountered

Severity: Notice

Message: Undefined variable: result

Filename: views/helloworld_view.php

Line Number: 8

null

boolean true

我没有显示视图,因为我觉得它不是问题的根源。任何帮助都将不胜感激。谢谢

问题是您没有返回任何内容

$query = $this->db->get('books');
if ($query->num_rows() > 0) {
    return true;
} else {
  return false;
}
您没有返回结果这就是为什么视图上的结果为空

$query = $this->db->get('books');
if ($query->num_rows() > 0) {
    return $query->result(); // return a result() or row() or row_array()
} else {
  return false;
}
这是一个速记版本
return$query->num\u rows()>0$查询->结果():FALSE
此示例将返回一个
对象

在型号中,请使用以下选项:

$query = $this->db->get('books');
    if ($query->num_rows() > 0) {
        return $query->result_array();
    } else {
      return false;
    }
并且在控制器负载视图中仅显示一次:

$data['title'] = "CI Hello World App!";

$this->load->model('helloworld_model');

$data['result'] = $this->helloworld_model->grabData();

$this->load->view('helloworld_view', $data);

因此,在视图中,您可以以
$title
的形式访问标题,并以
$result

的形式访问结果。您是否正确地获得了查询结果?您知道您正在返回任何表内容,对吗?为什么要加载两次视图?我的视图只是一个空白网页,结果变量的回声如下:@JaPerk14您必须返回结果。请参阅答案。您不能回显查询结果,因为它是一个数组。使用,否则我现在就注意到了。如何在不加载同一个视图两次的情况下将多个变量发送到单个视图?就像上面的例子一样$数据['result']=$this->helloworld_model->grabData()$数据['title']=“CI Hello World应用程序!”;等等……您可以使用具有不同变量名称的单个数组将多个变量发送到单个视图,例如:$data['title']='something'$数据['page']='something';