빠른 시작: 사용 예제

다음 페이지에는 데이터베이스 클래스가 어떻게 사용되는지 보여주는 예제 코드가 포함되어 있습니다. 자세한 내용은 각 기능을 설명하는 개별 페이지를 참조하십시오.

참고

CodeIgniter는 테이블 및 컬럼 이름에 마침표(.)를 지원하지 않습니다. v4.5.0부터 마침표가 포함된 데이터베이스 이름은 지원됩니다.

데이터베이스 클래스 초기화

다음 코드는 설정 세팅을 기반으로 데이터베이스 클래스를 로드하고 초기화합니다.

<?php

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

로드가 완료되면 아래에 설명된 대로 클래스를 사용할 수 있습니다.

참고

모든 페이지에서 데이터베이스 액세스가 필요한 경우 자동으로 연결할 수 있습니다. 자세한 내용은 데이터베이스 연결 페이지를 참조하십시오.

여러 결과를 반환하는 표준 쿼리 (객체 버전)

<?php

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

foreach ($results as $row) {
    echo $row->title;
    echo $row->name;
    echo $row->email;
}

echo 'Total Results: ' . count($results);
위의 getResult() 함수는 객체 배열을 반환합니다.
예: $row->title

여러 결과를 반환하는 표준 쿼리 (배열 버전)

<?php

$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'];
}
위의 getResultArray() 함수는 일반적인 배열 인덱스를 가진 배열을 반환합니다.
예: $row['title']

단일 결과를 반환하는 표준 쿼리

<?php

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

위의 getRow() 함수는 객체를 반환합니다. 예: $row->name

단일 결과를 반환하는 표준 쿼리 (배열 버전)

<?php

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

위의 getRowArray() 함수는 배열을 반환합니다. 예: $row['name'].

표준 삽입 (Insert)

<?php

$sql = 'INSERT INTO mytable (title, name) VALUES (' . $db->escape($title) . ', ' . $db->escape($name) . ')';
$db->query($sql);
echo $db->affectedRows();

쿼리 빌더 쿼리

쿼리 빌더는 데이터를 검색하는 단순화된 방법을 제공합니다.

<?php

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

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

위의 get() 함수는 제공된 테이블의 모든 결과를 검색합니다. 쿼리 빌더 클래스에는 데이터를 다루기 위한 모든 기능이 포함되어 있습니다.

쿼리 빌더 삽입 (Insert)

<?php

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

$db->table('mytable')->insert($data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')