Warm tip: This article is reproduced from stackoverflow.com, please click
mysql php codeigniter-3

500 internal server error in codeigniter 3

发布于 2020-03-29 20:59:52

I'm getting 500 internal server error from my Codeigniter logic. In the console it looks like this

POST http://localhost/apluscollege/livesearch/search 500 (Internal Server Error) jquery.min.js:2

I believe the error is due to my .htaccess file but I'm not able to locate the proper error. If you need more code let me know.

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


  class Livesearch extends CI_Controller 
  {
    function __Construct() 
    {
      parent::__Construct();
      $this->load->model('Items');
    }

    public function index() 
    {
      $this->load->view('livesearch');
    }

    public function search() 
    {
      $search_data = $_POST['search_data'];
      $query = $this->Items->get_live_items($search_data);
      foreach ($query as $row):
        echo "<li><a href='#'>" . $row->title . "</a></li>";
      endforeach;
    }
  }

This is model Items.php

<?php
  class Items extends CI_Model 
  {
    function get_live_items($search_data) 
    {            
      $this->db->select("title,description");
      $this->db->from('item');
      $this->db->group_start();
      $this->db->like('title', $search_data);
      $this->db->or_like('description', $search_data);
      $this->db->group_end();
      $this->db->limit(10);
      $this->db->order_by("id", 'desc');
      $query = $this->db->get();
      return $query->result();
    }
  }

This is livesearch.php

<form action="<?php echo base_url() . 'tiktok/search' ?>" method="post">
  <div class="input-group lrcInputs">
    <input type="text" id="search_data" class="form-control search-input" name="search-term" placeholder="What are you looking for?" onkeyup="liveSearch()" autocomplete="off">
    <div id="suggestions">
      <div id="autoSuggestionsList">
      </div>
    </div>
    <div class="input-group-btn"><button class="btn btn-success lrcSearchButton" type="submit"><i class="fa fa-search" aria-hidden="true"></i></button></div>
  </div>
</form>
</div>
<div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">
  <form action="http://vufind.carli.illinois.edu/vf-aru/Search/Home" method="get" role="search" target="vufind" name="searchForm">
    <div class="input-group lrcInputs">
      <input value="1" name="start_over" type="hidden">
      <input class="form-control" id="lookFor" name="lookfor" type="text" placeholder="Search for books, ebooks, & media">
      <div class="input-group-btn"><button class="btn btn-success lrcSearchButton" type="submit"><i class="fa fa-search" aria-hidden="true"></i></button></div>
    </div>
  </form>
  <script>
    function liveSearch() {
      var input_data = $('#search_data').val();
      if (input_data.length === 0) {
        $('#suggestions').hide();
      } else {
        $.ajax({
          method: "POST",
          url: "<?php echo base_url(); ?>livesearch/search",
          data: { search_data: input_data },
          success: function(data) {
            if (data.length > 0) {
              $('#suggestions').show();
              $('#autoSuggestionsList').addClass('auto_list');
              $('#autoSuggestionsList').html(data);
            }
          }
        });
      }
    }
  </script>

This is .htaccess file

RewriteEngine on
RewriteCond $1 !^(index\.php|public|\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1
Questioner
neetu yadav
Viewed
32
Karthik Sekar 2020-01-31 18:19

Open application\config\autoload.php file and add database into $autoload['libraries'] array.

Example: $autoload['libraries'] = array('database');