CI4

[코드이그나이터] 데이터 베이스의 빠른 시작

으누아빠 2020. 9. 7. 15:18
반응형

데이터 베이스의 빠른 시작

출처:
http://ci4doc.cikorea.net/database/examples.html

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

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

여러 결과가 포함된 표준 쿼리 (객체 Version)

$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);

여러 결과가 포함된 표준 쿼리 (배열 Version)

$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 = $db->query('SELECT name FROM my_table LIMIT 1');
$row   = $query->getRow();
echo $row->name;

단일 결과가 포함 된 표준 쿼리 (Array version)

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

쿼리 빌더

최소한의 스크립팅으로 데이터베이스에서 정보를 검색, 삽입 및 업데이트를 할 수 있음

값이 시스템에 의해 자동으로 이스케이프되므로 보다 안전한 쿼리가 가능

//get() 함수는 제공된 테이블에서 모든 결과를 검색
$query = $db->table('table_name')->get();

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

표준 Insert

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

쿼리 빌더 Insert

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

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