MySQL 데이터베이스로 가져온 CSV를 가져 오려고합니다. 각 새 줄은 데이터베이스의 새 행을 나타내야합니다. 여기 PHP CSV 업로드 스크립트, 줄 바꿈 기능 사용?
내가 지금까지 CSV에있는 것입니다 :$handle = fopen($_FILES['filename']['tmp_name'], "r");
$data = fgetcsv($handle, 1000, ",");
$sql = "INSERT INTO tbl (col1, col2, col3, col4) VALUES (?, ?, ?, ?)";
$q = $c->prepare($sql);
$q->execute(array($data[0],$data[1],$data[2],$data[3]))
문제는 첫 번째 네 개의 값이 삽입되는 것을 , 분명히 인해 :
1one, 1two, 1three, 1four
2one, 2two, 2three, 2four
을 그리고 응용 프로그램에서 루프의 부족.
나는 두 가지 옵션을 생각할 수는이 문제를 해결하려면 다음
1) 수행 N + 1을 삽입 각각 다음 인덱스의 위치를 기억하는 루프에 대한 몇 가지 "해키"를 수행하고, 배열 값.
2) fgetcsv는 필자가 필요로하는 기능이 아니며 새로운 줄을 처리하는 것이 더 좋습니다!
감사합니다.
감사합니다. 내 예제와 같은 임시 파일로 작업할까요, 아니면 파일을 저장해야합니까? 또한, 어떻게이 주입과 나쁜 문자를 처리 할 것인가? –