CI 묻고 답하기

제목 MySQL 함수 사용할 수 있는 방법이 있나요?
카테고리 CI 2, 3
글쓴이 hyhyhy 작성시각 2018/09/03 20:31:53
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 18788   RSS

MySQL에서 프로시져는 아니고 fn_custom 함수를 등록하고 사용중입니다.

$this->db->query("fn_custom(1234)");

Active Record 로 저장된 함수를 호출하려고 시도해봤으나 DB 문법에러가 발생하고 있습니다.

 

$this->db->query("CALL fn_custom(1234)");

이렇게도 호출해봤으나 프로시져가 아니라 호출되지 않았습니다.

SELECT 결과값을 리턴해주는 함수인데 CI에서 mysql 함수를 사용하기 위한 방법이 따로 있을까요??

저장되어있는 함수가 상당히 많은데 사용이 불가하다면 혹시 다른 우회방법이 있을런지..

도움 부탁드립니다ㅜ 감사합니다.

 다음글 코드이그나이터 웹호스팅 업로드시 오류 질문입니다! (4)
 이전글 hook을 적용했는데 이런저런 에러가 나네요. (5)

댓글

한대승(불의회상) / 2018/09/03 20:56:06 / 추천 0
hyhyhy / 2018/09/03 21:16:51 / 추천 0

답변 감사드립니다.

call_function의 경우 mysql 내장함수만 해당되는것이라 생각하여 적지 않았는데 $this->db->call_function('fn_custom',1234); 실행시에

This feature is not available for the database you are using. 오류가 나고있습니다. 해당 오류를 다시보니 현재 MariaDB 사용중인데 혹시 관련이 있을까요?;

한대승(불의회상) / 2018/09/03 21:59:46 / 추천 1

사용 방법을 잘 못 알려 드린것 같네요 ^^;;

$this->db->query("select fn_custom(1234) res");

이렇게 시도해 보세요.

사용자 정의 함수는 select와 함께 사용하고 procedure는 call을 사용하여 호출합니다.

hyhyhy / 2018/09/04 09:31:58 / 추천 0
해결했습니다. 정말 감사합니다ㅠㅠ