| 제목 | Codeigniter model에서 update시 쿼리 바인딩할때 함수 질문 | ||
|---|---|---|---|
| 카테고리 | CI 2, 3 | ||
| 글쓴이 | 케케케 | 작성시각 | 2022/02/11 09:37:29 | 
|  | |||
| 
 안녕하세요 Codeigniter model에서 update쿼리문을 작성하는데 
 바인딩할때 mysql 함수가 들어가면 어떻게 사용을 해야할까요? 
 예를들면 일반작으로 쿼리 작성시에 이렇게 하는데 set 부분에 mysql 함수가 들어가야합니다. $sql = "UPDATE Board SET BoardId = ? WHERE BoardId = ? AND Seq = ? LIMIT 1;"; 
 return parent::executeSql($sql, array($BoardId, $PreBoardId, $Seq)); 
 UPDATE Board SET TargetPath = REPLACE(TargetPath, '/test/922', '/test2/921') WHERE boardId = '922'; 이런식 REPLACE같은 함수가 들어갑니다. 함수가 들어가면 어떤식으로 작성을 해야할까요? REPLACE(TargetPath, '/test/922', '/test2/921') 
 이걸 그대로 넣으면 텍스트 형태로 바뀔것 같아서요 
 감사합니다 
 
 | |||
| 다음글 | 로그아웃 남은시간 표시 (3) | ||
| 이전글 | validation에 대해서 궁금한게 있습니다 (2) | ||
| 
                                변종원(웅파)
                                /
                                2022/02/11 10:21:40 /
                                추천
                                0
                             
                                그런 경우는 바인딩이 아니라 escape한 값을 사용하도록 sql문을 만드셔야할 것 같네요.
                             | 
| 
                                한대승(불의회상)
                                /
                                2022/02/11 10:27:38 /
                                추천
                                0
                             쿼리빌더 set() 메소드를 고려해 보시거나 SQL문을 하드코딩해야 합니다. $sql = "UPDATE Board SET TargetPath = REPLACE(TargetPath, '" . '/test/922' . "', '" . '/test2/921'. ") WHERE BoardId = ?"; 
 | 
| 
                                케케케
                                /
                                2022/02/11 10:47:01 /
                                추천
                                0
                             
                                where 절만 저렇게하고 말씀하신대로 하드코딩 하던지해야겠네요...답변 감사합니다.
                             |