2017-12-29 12 views
-1

많은 체크 박스가 있으며 체크하면 배열로 이동하고 다음 페이지로 값을 전달합니다. 다음 페이지는 선택 제출에 필요하며 제출시 다음 페이지로 배열을 전달하고 Oracle DB에 삽입해야합니다. 문제는 print_r에 내 배열을 볼 수 있지만 삽입 할 때 오류가 발생했습니다. Notice: Array to string conversion in .... 여기에 데이터를 전달하여 다음 페이지로 전송하는 코드는 다음과 같습니다.
내가 뭘 잘못 했니? 오후 8시 30 분 P.S. 나는 데이터를 분석하고 삽입이 예로서 (1,2,1,1*5,5,6,2*7,3,4,5) 다음
내 인쇄 데이터 Array ([0] => 6 [1] => 1 [2] => 1 [3] => 5* [4] => 10 [5] => 1 [6] => 1 [7] => 5* [8] => 14 [9] => 1 [10] => 1 [11] => 5* [12] => 18 [13] => 1 [14] => 1 [15] => 5*)POST로 배열을 전달하고 오라클에 삽입하는 코드

if(some condition) { 
    //here i check checkboxes, pshing values to array 
} else if(isset($_POST["arrayforfirst"])){ 
    $arrayforfirst = $_POST['arrayforfirst']; 
    $arrayforfirst2 = unserialize(base64_decode($arrayforfirst)); 
    print_r($arrayforfirst2); 
    $query = "my insert query"; 

    $stmt1 = oci_parse($my_connection, $query); 
    oci_execute($stmt1); 
} else { 
    $newarray = array(); 
    foreach($_POST['myarray'] as $id => $value) { 
     $pp = explode(",", $value); 
     array_push($newarray, $pp[2], $pp[3], $pp[4], $pp[1].'*'); 
    } 
    echo '<input type="hidden" name = "arrayforfirst" value="'.base64_encode(serialize($newarray)).'" />'; 
} 
+0

와 배열을 분할하고 그 라인의 코드가 무엇을 내 함수 내에서 오류를) 표시되지 않습니다? – ariefbayu

+0

어쩌면 복제 된 것입니다 : https://stackoverflow.com/questions/20017409/how-to-solve-php-error-notice-array-to-string-conversion-in –

+0

그것은 dublicate가 아닙니다. 왜냐하면 © 페이지에 인쇄 할 수는 있지만 DB에 삽입 할 수는 없습니다. – Orik0

답변

0

내가 implode 방법을 사용하고 문자열로 변환 된 데이터를 전달해야합니다 기능을 썼다. 지금은 내가 문자열 conversion` 통지에`배열이 발생 무슨 줄에 쉼표

if(some condition) { 
 
    //here i check checkboxes, pshing values to array 
 
} else if(isset($_POST["arrayforfirst"])){ 
 
    $arrayforfirst = $_POST['arrayforfirst']; 
 
    $arrayforfirst2 = unserialize(base64_decode($arrayforfirst)); 
 
    $pp = implode(',',$arrayforfirst2); 
 
    print_r($arrayforfirst2); 
 
    $query = "my insert query"; 
 

 
    $stmt1 = oci_parse($my_connection, $query); 
 
    oci_execute($stmt1); 
 
} else { 
 
    $newarray = array(); 
 
    foreach($_POST['myarray'] as $id => $value) { 
 
     $pp = explode(",", $value); 
 
     array_push($newarray, $pp[2], $pp[3], $pp[4], $pp[1].'*'); 
 
    } 
 
    echo '<input type="hidden" name = "arrayforfirst" value="'.base64_encode(serialize($newarray)).'" />'; 
 
}

관련 문제