mysql查询codeigniter时出现致命错误


fatal error mysql queries codeigniter

尝试在视图中构建菜单。给我致命错误/未定义的查询函数。数据库是通过控制器结构中的load->database()连接到的。对codeigniter数据库查询不太熟悉,但我认为常规的mysqli会很好地工作。这是代码:

<div class="at_mainMenu gradient02">
  <ul class="sf-menu" id="example">
  <?php
    $query = $this->db->query("SELECT * FROM menu WHERE priority=0");
    foreach ($query ->result_array() as $row) {
      echo "<li class='current'><a href='".$row['link']."'>".$row['text']."</a>";
      $id = $row['menuId'];
      $children = $this->db->query ("SELECT * FROM menu WHERE parentId=$id ORDER BY priority DESC");
        foreach ($children->result_array() as $row) {
          echo "<ul><li><a href='".$row['link']."'>".$row['text']."</a>";
            $id2 = $row['menuId'];
            $grandchildren = $this->db->query ("SELECT * FROM menu WHERE parentId=$id2 ORDER BY priority DESC");
            foreach ($grandchildren->result_array() as $row) {
              echo "<ul><li><a href='".$row['link']."'>".$row['text']."</a></li></ul>";
            }
          echo "</li></ul>"; 
        }
      echo "</li>";
    }
  ?>
  </ul>

如果不指定列,则无法进行查询。您可能希望对所有列使用*col1, col2

SELECT [column list] FROM [table_name]

您可以通过视图调用mysql。如果你仍然强加。。。但如果你想学习,我可以帮助你了解如何创建一种简单的方法来处理模型、视图和控件。

步骤1。控制器:

首先在controller文件夹中创建一个名为my_controller.php的控制器,并输入以下代码:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
        class My_controller extends CI_Controller {
            public function __construct() 
            {
                parent::__construct(); 
                date_default_timezone_set('Asia/Bangkok');
                $this->load->model(array('my_model'));
                $this->load->database();
                $this->output->enable_profiler(TRUE);
            }
            public function index()
            {
                $result_query = $this->my_model->GetMenu();
                $data['list_menu'] = '';
                foreach ($result_query as $key => $value) {
                    $data['list_menu'] .= '<li>';
                    foreach ($value as $index => $item) {
                        $data['list_menu'] .= '[' . $index . '] = ' . $item . ', '; 
                    }
                    $data['list_menu'] .= '</li>';
                }
                $this->load->view('my_view', $data);
            }
        }
    /* End of file My_controller.php */
    /* Location: ./application/controllers/My_controller.php */

步骤2创建视图:在应用程序文件夹中的view文件夹中创建一个名为my_view.php的文件,并输入以下代码:

<html>
<head>
<title>My View</title>
</head>
<body>
    <h1>Simple List Menu!</h1>
    <ul>
        <?php echo $list_menu; ?>
    </ul>
</body>
</html>

步骤3。创建您的模型:

在模型文件夹中创建一个名为mymodel.php的文件并输入以下代码:

<?php
class My_model extends CI_Model {
    function __construct()
    {
        $this->load->database();
    }
    function GetMenu()
    {
        $query = $this->db->get('Menu'); // where menu is your table name
        return $query->result_array();
    }
}

干杯。。你一定要读这个。。。它会指引你走向光明。所以你不再失明了。CI文档注意:应用程序文件夹在根文件夹中。你会使用它的。如果不使用,那么就不是代码点火器。希望这会有所帮助。

相关文章: