Создайте запрос из чистого php для запроса CodeIgniter

#php #mysql #codeigniter

#php #mysql #codeigniter

Вопрос:

Я изучил CodeIgniter, но у меня возникли трудности с преобразованием запроса из чистого php в запрос CodeIgniter, как исправить мой запрос в CodeIgniter?

Этот запрос с использованием Codeigniter

 public function get_kal($id) {
    $query = $this->db
            ->select('myname as name')
            ->from('mytable')
            ->where('myname', $id)
            ->like('%%%s%%')
            ->order_by('myname','ASC');
            ->get("q");

    $arr = array();

    $rs = mysql_query($query);

    while($obj = mysql_fetch_object($rs))
    {
        $arr[] = $obj;
    }

    echo json_encode($arr);     
}
  

Этот запрос на чистом php

 public function get_name($id) { 
        $query = sprintf("SELECT  myname as name from mytable WHERE myname LIKE '%%%s%%' ORDER BY myname DESC ", mysql_real_escape_string($_GET["q"]));
        $arr = array();
        $rs = mysql_query($query);

        while($obj = mysql_fetch_object($rs))
        {
            $arr[] = $obj;
        }

        echo json_encode($arr); 
    }
  

Ответ №1:

вы можете напрямую запросить, используя

 $this->db->query('YOUR QUERY HERE');
  

вы также можете создать запрос

 $query = $this->db
            ->select('myname as name')
            ->from('mytable')
            ->like('myname', $this->input->get('q', TRUE))
            ->order_by('myname','ASC');
  

Вот официальный документ

Ответ №2:

 $query = $this->db->query($SQL);
echo json_encode($query->result_array());
  

Ответ №3:

Вы также можете использовать приведенный ниже формат.
1. Несколько результатов
2. Один результат

 1. $q = $this->db->query('MYSQL QUERY');
echo json_encode($q->result_array());


2.$q = $this->db->query('MYSQL QUERY');
echo json_encode($q->row_array());