개발! 딱 깔끔하고 센스있게!

MySQL 데이터베이스에 다차원 PHP 배열 삽입 본문

개발 스크랩 메모/PHP

MySQL 데이터베이스에 다차원 PHP 배열 삽입

렉사이 2020. 12. 17. 22:42

나는 csv 의 배열이 있는데, 그 구조는 비슷하다.

Array ( [0] => Array ( [0] => name [1] => age [2] => gender ) [1] => Array ( [0] => Ian [1] => 24 [2] => male ) [2] => Array ( [0] => Janice [1] => 21 [2] => female ) etc 

나는 그것을 하나의 mysql 테이블에 삽입할 수 있는 항목 (name, age, ge, gender) 에 제목을 표시하고, 이후의 모든 그룹은 시계의 일행이다.

누가 나에게 가장 좋은 방법으로 이 일을 할 수 있는지 알려 줄 수 있다.

왜냐하면 내가 벽을 부딪쳐서 다친 머리를 남겼다!

대답

다음의 코드 는 작업할 수 있지만, 모든 세트 배열의 길이가 동일한 것으로 가정하고 있으며, 각 세트 배열은 첫 번째 세트 배열에 포함된 모든 속성 수치를 포함한다.

$array = array( array('name', 'age', 'gender' ), array('Ian', 24, 'male'), array('Janice', 21, 'female') ); $fields = implode(', ', array_shift($array)); $values = array(); foreach ($array as $rowValues) { foreach ($rowValues as $key => $rowValue) { $rowValues[$key] = mysql_real_escape_string($rowValues[$key]); } $values[] = "(" . implode(', ', $rowValues) . ")"; } $query = "INSERT INTO table_name ($fields) VALUES (" . implode (', ', $values) . ")"; 

이 해결 방안은 첫 번째 모자이크 배열에서 정의된 임의의 속성을 처리할 것입니다.

모든 패키지는 같은 길이를 가지고 있습니다.

위의 배열에 대한 출력은:

INSERT INTO table_name (name, age, gender) VALUES (Ian, 24, male), (Janice, 21, female) 

http: codepad.org /7sg7lhah, 주의해 주세요. codepad.org mysql u real u string ()의 호출을 삭제합니다.

이 함수를 사용할 수 없습니다.

당신의 코드에서 당신은 그것을 사용해야 합니다.

Comments