JetBrain/PHP Storm & Codeigniter
[Codeigniter] Database 설정하기 (Mysql 5.7)
128june
2020. 6. 5. 15:34
반응형
1. Codeigniter와 Mysql을 연결하려면 application/config/database.php 파일의 내용을 변경해주어야합니다.
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
// 보통은 localhost로 접속할 수 있지만 저는 aws서버의 mysql을 연결하였기 때문에 주소(xxx.xxx.xxx.xxx):포트 로 연결하였습니다!
'hostname' => '[주소입력]', // localhost
'username' => 'june', // DB에 접속할 user 이름입니다.
'password' => '1234', // DB user의 패스워드입니다. 패스워드가 없지 않는 한 반드시 지정하십시오.
'database' => 'test', // DB 선택 부분입니다.
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
주석이 있는 부분을 수정하셨다면 연결을 확인해 봅시다.
2. application/controllers 에 Main.php 파일을 만듭니다.
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Main extends CI_Controller {
function __construct() {
parent::__construct();
}
//index 함수 => "URL/index.php/main" or "URL/index.php/main/index"로 설정
public function index() {
// $this->load->model : /application/models 폴더를 탐색
// model('[modelfile]') : model에는 /application/models에 있는 Main_model.php를 설정
// $this->Main_model->test();는 로드된 Main_model.php의 test 함수를 실행
$this->load->model('Main_model');
$this->Main_model->test();
}
}
3. application/models 에 Main_model.php 파일을 만듭니다.
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Main_model extends CI_model {
function __construct(){
parent::__construct();
//database.php 파일에서 $test(database이름)['test(table이름)'] 설정값 load
$this->test = $this->load->database('default', TRUE);
}
function test() {
// Database에 query 요청
$query = $this->test->query("SELECT * FROM test");
foreach ($query->result_array() as $row)
{
echo '번호 : ', $row['num'];
echo '<br>';
echo '제목 : ', $row['title'];
echo '<br>';
}
}
}
4. http://localhost/index.php/main/index 페이지에서 결과를 확인합니다.
※ 설정하면서 다양한 오류가 발생하였는데, 제일 막혔던 부분이 mysqli 설치였습니다.
해결방법으로는 php.ini 설정을 수정해야합니다.
해결방법
- 일반적으로는 extension=mysqli 를 주석해제하면 해결됩니다.
- 다른 방법으로는 extension_dir = "C:/php7/ext" 보다 위에 extension=mysqli 를 작성하는 방법이 있습니다.
- 그 외에 extension=php_exif.dll / extension=php_mysql.dll / extension=php_mysqli.dll 를 추가로 작성하는 방법이 있습니다.
반응형