2011-04-05 2 views
0

CSV 파일의 데이터를 반복하는 간단한 PHP 스크립트를 사용하고 그에 따라 데이터베이스에 레코드를 추가합니다. 내 필드 중 하나는 설명 필드이지만 설명 필드 자체에는 쉼표 (또는 여러 개의 쉼표)가 있습니다. 해당 필드에 대한 데이터는 쉼표까지만 읽히지 만 다음 필드는 올바르지 만 그 이후의 필드는 설명의 나머지 부분과 같지 않습니다. 바로 다음 열을 사용하고있는 것입니다.PHP 가져온 CSV 데이터가 쉼표로 바뀌면 짧게 처리됩니다.

쉼표에서 벗어나려고합니까? 나는이 데이터를 MySQL 데이터베이스에 추가하고 있는데, 문제가 발생한 곳 일 수 있습니까? 위의 문장은 마주 치는 첫 번째 쉼표 후 "안녕하세요"아무것도 같은 설명을 삽입

$description = $data[7]; //description column eg: "hello, my name is xxxxx, I am old" 
INSERT INTO tblsomething (id, description) VALUES ($id, '$description'); 

: 뭔가처럼

내 SQL 쿼리가 될 수 있습니다.

이유가 무엇인가요?

많은 감사, 사이먼

편집 : 그것은 바보 같은 실수로이 모두에게 사과를 해결된다. 프런트 엔드를 만든 사람이 콘텐츠를 분할하기 위해 ','을 사용하여 콘텐츠 배열을 만드는 것으로 보입니다. IT는 비록 하나의 배열 엔트리라고 생각되지만 - 콤마를 포함하고 있기 때문에 다중 엔트리로 분할되고있는 것처럼 보입니다. 이것은 분리 기호를 만드는 데 파이프 기호와 같이 좀 더 희귀 한 문자를 사용하여 해결할 수 있습니다.

감사합니다.

+0

'$ data [7]'의 내용을 살펴보십시오. 나는 그것이 'hello'만 포함하고 PHP 코드의 배열 프로 시저에 대한 CSV에 오류가 있다는 것을 확신합니다. 따라서 해당 코드도 함께 입력하십시오. –

+0

정말로 이러한 따옴표가 있으면 문제가 존재하지 않습니다. 또는 CSV를 잘못 파싱했습니다. –

답변

0

CSV 파일이 아니기 때문에. 쉼표가 포함 된 CSV 파일의 필드는 큰 따옴표로 구분해야합니다. 이 방법은 PHP에서 CSV 기능을 제대로 처리 할 것입니다.

관련 문제