| 제목 | 안녕하세요, 개발 중에 두가지 해결 안되는 부분이 있어 문의 좀 드립니다;; | ||
|---|---|---|---|
| 카테고리 | PHP | ||
| 글쓴이 | 그동안 | 작성시각 | 2019/06/18 08:21:19 | 
|  | |||
| 안녕하세요, 개발 중에 두가지 해결 안되는 부분이 있어 문의 좀 드립니다;; 결국은 둘다 이 부분이 문제인데요... $pproj_id = $result[$key]; 
 1. 모델 insert_id로 컨트롤러에서 $result로 받았는데, $pproj_id = $result[$key]; 여기에 대입이 안되네요;; $result = $this->profile_project_m->my_profile_add_03_insert($project_data); $pproj_id = $result[$key]; 
 2. [$key] 이부분 때문에 오류가 발생합니다. [$key]만 붙으면 이 오류가 발생합니다. 데이터베이스 오류가 발생하였습니다. Error Number: 1048 Column 'pproj_id' cannot be null 
 
 
 [모델] $result = $this->db->insert_id() ; // insert한 id(auto increment) 값 return $result; 
 [컨트롤러] 
//[1] 프로젝트
foreach ($_POST['project_name'] as $key => $project_name)
{
    //foreach로 반복한 값을 변수에 대입
    $project_id = $_POST['project_id'][$key];                                                  
    $project_name = $_POST['project_name'][$key];                                              
   
    //프로젝트 data
    $project_data = array(                                      //db에 요청할 값을 배열로 만듬. db필드명 => 수정값 
    'db_table_name' => 'profile_project' ,                      //업데이트할 DB 테이블명
    'pbs_id' => $this->session->userdata('add_pbs_id') ,                             
    'project_id' => $project_id ,                                                          
    'project_name' => $project_name ,                                                       
    'created_by' => $this->session->userdata('user_nm') ,                   //생성자 명(=가입자명)
    'created_ip' => $this->session->userdata('ip_address')                  //생성자 ip  
    );
     $result = $this->profile_project_m->my_profile_add_03_insert($project_data);     //모델에 insert 요청
}
//[2] 프로젝트 분야
foreach ($_POST['character_id'] as $key => $character_id)
{
    //foreach로 반복한 값을 변수에 대입
    $pproj_id = $result[$key];                                //프로젝트경력id. 1번 result값(insert한 pproj_id) 대입
    $character_id = $_POST['character_id'][$key];             //프로젝트 분야 id
    //프로젝트 분야 data
    $project_character_data = array(                          //db에 요청할 값을 배열로 만듬. db필드명 => 수정값 
    'db_table_name' => 'profile_project_character' ,          //업데이트할 DB 테이블명
    'pproj_id' => $pproj_id ,                                                          
    'character_id' => $character_id ,                                                                                                                                                                                 
    'created_by' => $this->session->userdata('user_nm') ,        //생성자 명(=가입자명)
    'created_ip' => $this->session->userdata('ip_address')       //생성자 ip  
    );
     $result = $this->profile_project_character_m->my_profile_add_03_insert($project_character_data);  //모델에 insert 요청
}
 | |||
| 다음글 | ftp 업로드시 ftp_connect, ftp_logi... (1) | ||
| 이전글 | php 는 java/spring에 비해 취약점이 많은거... (2) | ||
| 
                                변종원(웅파)
                                /
                                2019/06/18 09:02:05 /
                                추천
                                0
                             | 
| 
                                한대승(불의회상)
                                /
                                2019/06/18 09:19:47 /
                                추천
                                0
                             $this->db->insert_id() 이 함수는 배열이 아닌 숫자를 반환합니다. | 
안되면 출력을 해보세요. echo $result; 또는 var_dump($result);
배열이 아닌데 배열로 달라고 하니 에러가...
그리고 말씀하신대로 쓰고 싶다면 $result[$key] = $value; 형태로 넣으셔야 합니다.