1%라도 해본 질문 vs. 1%도 안해본 질문, 여러분은 어떤 질문에 손이 가십니까?
액티브 레코드를 사용하다가 서브쿼리구현이 힘들것 같아
메뉴얼을 통해 쿼리 바인딩을 사용하였습니다;
db까지는 데이터가 저장이 되는것 을 확인하였습니다.
이 저장된 데이터를 불러와 controller 쪽으로 보내줘야 하는데 그게 쉽게 되지않네요;
$sql='insert into item(ur_pk,item_title,item_ct,item_im,item_pr,item_da,cg_pk,cg2_pk,item_wk,item_multi) values((select ur_pk from user where ur_id = ?),?,?,?,?,now(),?,?,?,?)';
$result=$this->db->query($sql, array($id, $item['item_title'], $item['item_ct'], $item['item_im'], $item['item_pr'], $item['cg_pk'], $item['cg2_pk'], $item['item_wk'], $item['item_multi']));
var_dump($result);//확인용
if(! $result){//실패할경우 에러메시지 출력
$error=$this->db->error();
echo $error['code'];
echo $error['message'];
}else{
$test = $result->result();
return $test;//db에 결과를 가져와 controller 쪽으로 보내줘야 하는데..
메뉴얼을 보면서 해보긴 하였는데 잘 되지 않네요;; 제가 잘못 사용하고 있는 것일까요?
에러메시지:Call to a member function result() on boolean 이 메세지를 출력합니다.
@한대승
아 제가 멍청했네요;;
아무쿼리도 안날려주면서 ㅋㅋ 값이 안나온다고 하였다니;;
계속 모니터만봐서 그런지 ㅋㅋㅋ 중요한것 잊고 있었네요 ㅋㅋ감사합니다
첨언하자면 쿼리빌더를 사용하여 insert, update에 서브 쿼리를 사용하고 싶다면 set() 메소드를 이용하면 됩니다.
$data = array(
'a' => 1,
'b' => 2,
);
$this->db->set('c', "(select id from tbl where id=123)", false);
$this->db->insert('ntbl', $data);