개발 Q&A

제목 안녕하세요, 코드이그나이터 완~~전 처음인데, 크나큰 시련이 닥쳤습니다..
카테고리 PHP
글쓴이 코덧코덧 작성시각 2019/08/15 00:13:02
댓글 : 9 추천 : 0 스크랩 : 0 조회수 : 12570   RSS

안녕하세요, 코드이그나이터의 코짜도 모르는 신입입니다 ㅠ 다름아니라, 이번에 작업을 할 일이 생겼는데 해당 서버에 플랫폼을 구축해주는 작업입니다, MSSQL과 PHP로 작업을 해왔는데 ! 항상 PDO로 DB에 접근해왔었구요 (sqlsrv 드라이버를 사용했습니다)

그런데 이번에 작업을 해야하는 서버가 코드이그나이터 프레임워크를 사용하더라구요. (해당 서버에는 sqlsrv 드라이버가 없습니다)

그래서 제가 직접 코드이그나이터로 접근해야하나.. 싶어서 잠깐 강의들을 훑어봤는데 PDO 접근방법이랑 너무나도 다르더라구요 ..! 완전 편하긴 한 것 같은데 작업일까지 끝마쳐야 하는 처지라..

이러한 상황일 때, PDO로 접근할 수 있나요 ..? 계속 드라이버가 없다는 오류만 뜨네요 ㅠㅠㅠㅠ!

마음같아서는 코드이그나이터로 접근하고 싶은데.. 그거로 접근하려면 모델? 이란 것도 만들어야하고 CI 컨트롤러..? 그런 클래스도 만들어야 하는 것 같던데..

만약 이그나이터로 접근하려면 서버에 컨트롤러가 있고 저는 모델만 만들어서 전달하면 되는건가요 ?

 

3줄 요약.

1. 작업 종료일이 다가왔는데 해당 서버는 코드이그나이터를 사용중. 필자는 코드이그나이터란걸 처음듣고, PDO(sqlsrv)로만 작업해왔음

2. 코드이그나이터로 접근한다면, 그 서버에 컨트롤러나 설정 등은 다 내장 되어있을겁니다. 이럴 경우 저는 어떻게 접근할 수 있나요 ?

3. 혹시 PDO로 접근이 가능한가요?

 다음글 안녕하십니까,, 궁금한게 있어 문의 글 남겨 봅니다 (4)
 이전글 AWS S3 파일 업로드하는 방법 (3)

댓글

엽토군 / 2019/08/15 18:49:53 / 추천 0

application/config/database.php 열고 이런 설정 잡아주신 다음에 커넥션 붙어 보세요.

$db['mssql'] = array(
    'dsn'    => 'sqlsrv:server=아이피,포트;Database=데이터베이스',
    'hostname' => '',
    'username' => '계정명',
    'password' => '계정비번',
    'database' => '',
    'dbdriver' => 'pdo',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'autoinit' => TRUE,
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
); 

 

코덧코덧 / 2019/08/16 13:25:22 / 추천 0

넵.. 설정은 했는데 커넥션은 언떻게 붙이죠 ..? 저 파일을 따로 만들고 또 커넥션 파일도 따로 만들으라는 말씀이시죠 ?

코덧코덧 / 2019/08/16 13:27:14 / 추천 0
제가 만들어야 하는 부분은 Model 인가요 .? 서버에 다 내장 되어있어요
kaido / 2019/08/16 13:43:22 / 추천 0

아직 작업이 안되어있고 codeigniter 넣어서 작업해달라는 말이면 codeigniter에 맞춰서 작업하셔야 합니다. 

차근차근 접근해서 MVC 패턴대로 3가지 파일을 만들어서 게시물 불러서 넣어보세요.

일단 거기부터 시작 하시고 궁금한점이 있으면 문의 하셔야 할것 같습니다.

급하시더라도 기본을 파악하셔야지 다음으로 넘어갈 수 있습니다.

코덧코덧 / 2019/08/16 13:49:24 / 추천 0

저는 서버에 파일을 업로드만 가능한 상황입니다 ㅠ MVC를 계속 보고있지만 어떤 파일을 해당 서버에 보내야 되는지 모르겠어요 database.php에 대한 접근 권한도 없고 php.ini 설정을 할 수도 없습니다..

디비에 쿼리문을 보내는 방법만 있으면 되는데 .. 제가 아는 정보는

$db['default']['hostname'] = 
$db['default']['username'] = 
$db['default']['password'] = 
$db['default']['database'] = 
$db['default']['dbdriver'] 
$db['default']['pconnect'] =
$db['default']['char_set'] = 
$db['default']['dbcollat'] = 
$db['default']['swap_pre'] 
$db['default']['autoinit'] 
$db['default']['stricton'] 
$db['default']['db_debug'] 

이 뿐 입니다..

코덧코덧 / 2019/08/16 13:50:40 / 추천 0
이걸 PHP문에 입력하고 
$result $this->db->query("SELECT id, name FROM members")->result();<br>
foreach ($result as $row)
{
        echo $row->id;
        echo $row->name;
}
이런 식으로 데이터를 받아오려 하는데도 안되네요 ..
kaido / 2019/08/16 14:12:44 / 추천 0

codeigniter는 모든게 controller 에서 시작 된다고 보셔도 됩니다.

사실 권하는건 아니지만 controller 에서도 $this->db 가 됩니다.

적응이 안되시면 우선 controller 에서 테스트하고 형식에 맞추시면 됩니다.

 

database를 사용 하시려면 우선 해당 메뉴얼을 참고하세요

http://www.ciboard.co.kr/user_guide/kr/database/examples.html

 



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

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

echo 'Total Results: ' . $query->num_rows();

 

 

서버에 업로드해서 확인 하신다면 config는 건드실게 없습니다. 오히려 건들면 안되겠지요.

그럼에도 config가 궁금 하시다면 prin_r($this->db);  하시면 컨피그 정보가 튀어나오실것입니다.

 

코덧코덧 / 2019/08/16 14:26:27 / 추천 0

세세한 답변 정말 감사합니다 ㅠㅠㅠ 제가 코드이그나이터는 완전 건드려본 적도 없어서..

기본적으로 클래스를 만들어서 하는거로 알고있는데 저거 그대로 실행하면 $this가 뭔지 모르겠다고 에러가 뜨네요

클래스는 그럼 컨트롤러를 매개로 받아서 하는거지요? 컨트롤러는 해당 서버에 있나요? 제가 만들어야 하나요 ?

 

kaido / 2019/08/16 15:07:00 / 추천 0

기본적으로 작업 하시려면 컨트롤러 파일을 만들어서 올리셔야 합니다

그게 아니면 어떤 파일에 작업해달라고 요건이 있을텐데, 그게 없다는건 새로 작성 해서 하라는 의미로 보여집니다.

다운로드가 안된다는건 그런 의미겠죠.

상세한건 업체측에 배포는 어떤 방식으로 하고 테스트 하는지 물어보시는게 정확 합니다.

 

다만 지금 무엇보다도 프레임워크의 가장 기본 구조를 모르는체로 진행 하셔도 원하시는 결과를 얻을 수 없습니다.

작업하고 별도로 테스트 및 실습으로 로컬에 새로 설치하고 우선 숙련도를 올리시는게 필요해 보입니다.