본문 바로가기
프레임워크/코드이그나이터(Codeigniter)

코드이그나이터 4 데이터베이스 클래스 사용방법 변경사항

by 마루의 일상 2021. 11. 22.
728x90
반응형

코드이그나이터 3에서 코드이그나이터4로 넘어가면서 변경된 것이 없는 줄 알았는데

 

데이터베이스 관련 명령이 변경된게 있네요.

 

우선 데이터 베이스 클래스 초기화 방법

코드이그나이터 3

$this->load->database();
코드이그나이터 4

$db = \Config\Database::connect();

 

여러 결과가 포함된 표준 쿼리

코드이그나이터 3

$query = $this->db->query('SELECT name, title, email FROM my_table');

foreach ($query->result_array() as $row)
{
        echo $row['title'];
        echo $row['name'];
        echo $row['email'];
}
코드이그나이터 4

$query   = $db->query('SELECT name, title, email FROM my_table');
$results = $query->getResultArray();

foreach ($results as $row) {
    echo $row['title'];
    echo $row['name'];
    echo $row['email'];
}

● $query->result_array() --> $this->getResultArray();

 

단일 결과가 포함 된 표준 쿼리

코드이그나이터 3

$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row();
echo $row->name;
코드이그나이터 4

$query = $db->query('SELECT name FROM my_table LIMIT 1');
$row   = $query->getRow();
echo $row->name;

● $query->getRow();

 

쿼리빌더

코드이그나이터 3

$query = $this->db->get('table_name');

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

 

코드이그나이터 4

$query = $db->table('table_name')->get();

foreach ($query->getResult() as $row) {
    echo $row->title;
}

●$this->db->get('table_name') --> $db->table('table_name')->get();

 

쿼리 빌더 입력

코드이그나이터 3

$data = array(
        'title' => $title,
        'name' => $name,
        'date' => $date
);

$this->db->insert('mytable', $data);
코드이그나이터 4

$data = [
    'title' => $title,
    'name'  => $name,
    'date'  => $date
];

$db->table('mytable')->insert($data);

● $this->db->insert('mytable', $data); --> $db->table('mytable')->insert($data);

● $this->db->insert_id(); --> $db->insertID();

 

이외에도 많이 있지만 여기까지 하겠습니다.

감사합니다.

728x90
반응형