제목 | ci3 mssql 프로시저 output 출력 도움요청합니다~ | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 터치맨 | 작성시각 | 2020/09/17 16:10:49 |
|
|||
mssql 프로시저 연동중 output 인자값을 어떻게 입력해야 하는지 도움 요청 드려요~
1. 인자값이 input 하나일때는 정상적으로 작동합니다. $data["as_styl"] = "123"; model $sql = ("EXEC UP_MALL ?"); $query = $this->erp->query($sql, $data); return $query->result_array();
2. 인자값에 input output 요두 있을경우 데이터가 안나옵니다. $data = []; $data["as_name"] = "가나다"; #input $data["as_cuno"] = ""; #output model $sql = ("EXEC UP_MEMBER_CHECK ?, ?"); $query = $this->erp->query($sql, $data); return $query->row();
|
|||
다음글 | sess_time_to_update 설정에 대해 질문드... (4) | ||
이전글 | ci4 에서 $builder->countAllRe... (4) | ||
변종원(웅파)
/
2020/09/17 16:24:29 /
추천
1
|
터치맨
/
2020/09/17 16:32:40 /
추천
0
답변감사합니다. as_cuno 값이 없으면 아래와 같이 오류가 발생하고 있습니다. 그래서 OUTPUT 인자값을 추가 하였습니다. 프로시저 또는 함수 'UP_MEMBER_CHECK '에 매개 변수 '@as_cuno'이(가) 필요하지만 제공되지 않았습니다.
MSSQL 에서도 아래와 같이 사용하여 정상 작동하였습니다. EXEC @return_value = [dbo].[UP_MEMBER_CHECK ]
@as_name = N'가나다',
@as_cuno = @as_cuno OUTPUT
SELECT @as_cuno as N'@as_cuno',
@as_cdno as N'@as_cdno'
|
한대승(불의회상)
/
2020/09/17 18:53:02 /
추천
0
일단 아래처럼 해보세요. $sql = ("EXEC @return_value = [dbo].[UP_MEMBER_CHECK ] @as_name = N'가나다', @as_cuno = @as_cuno OUTPUT SELECT @as_cuno as N'@as_cuno', @as_cdno as N'@as_cdno' "); $query = $this->erp->query($sql); return $query->row(); 결과는 알려주세요. |
터치맨
/
2020/09/18 09:19:51 /
추천
0
답변감사합니다. 테스트 결과 스칼라 변수 오류가 나와서 DECLARE @return_value int, @as_cuno nvarchar(20) 추가후 데이터 정상적으로 나오는걸 확인했습니다. 아래와 같은 방법만 가능한것인가요? $query = $this->erp->query($sql, $data); 배열을 사용할순 없는지 궁금합니다. 또, 서버가 php7.1 이라 sqlsrv 설정해서 사용하고 있습니다. DECLARE @return_value int, EXEC [dbo].[UP_MEMBER_CHECK] SELECT @as_cuno as N'@as_cuno', |
한대승(불의회상)
/
2020/09/18 12:28:36 /
추천
0
@터치맨 특정DB에서만 동작하는 특별한 쿼리를 굳이 배열에 담아 사용할 필요는 없습니다. 쿼리빌더는 범용쿼리에 사용하도록 설계되어 있어 사용 DB에 맞추어 그때그때 유연하게 적용하는게 좋습니다. |
$data["as_cuno"] = "" 빈값이고 같은 $data 배열로 넘어가서 조건에 반영된건 아닌가요?
결과는 $query->row() 이걸로 받고 있는데요?