개발 Q&A

제목 안녕하세요, 개발 중에 두가지 해결 안되는 부분이 있어 문의 좀 드립니다;;
카테고리 PHP
글쓴이 그동안 작성시각 2019/06/18 08:21:19
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 8235   RSS

안녕하세요, 개발 중에 두가지 해결 안되는 부분이 있어 문의 좀 드립니다;;

결국은 둘다 이 부분이 문제인데요...  $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

안되면 출력을 해보세요. echo $result; 또는 var_dump($result);

배열이 아닌데 배열로 달라고 하니 에러가...

그리고 말씀하신대로 쓰고 싶다면 $result[$key] = $value; 형태로 넣으셔야 합니다.

한대승(불의회상) / 2019/06/18 09:19:47 / 추천 0
$this->db->insert_id()

이 함수는 배열이 아닌 숫자를 반환합니다.