강

csv로 DB에 입력할때 필드 내용에 있는 콤마와 쌍따옴표에 대한 처리문제

csv로 DB에 입력할때

1. 필드 내용에 콤마가 있을때
제대로 입력이 되질않습니다.
이럴때 어떻게 하면 제대로 입력할수 있을까요?

2. 필드에 쌍따옴표가 있을 경우
insert시 필드맨앞과 맨뒤에 쌍따옴표가 하나씩 더 들어가 있습니다.

addslashes, stripslashes 바꿔봐가며
이리저리 다해보고 찾는다고 다 찾아봤는데 해결을 못하겠습니다 ㅠㅠ

질문이 제대로 된건지 모르겠습니다.
고수분들의 가르침 부탁드립니다.

----------------------------------------------------------------------

csv 업로드처리하는 문서의 내용입니다.

$csvLoad = file($_FILES['fr_gd_id']['tmp_name']);
$csvArray = split("\n",implode($csvLoad));

for($i=1;$i<count($csvArray)-1;$i++) {
$xinfo=explode(",", $csvArray[$i]);
$xIDX=$xinfo[0]; // IDX
$xc_code=$xinfo[1]; // 카테고리코드

....


$xg_status=$xinfo[31]; // 승인여부

$sql = "select count(*) as cnt from g4_goods where idx='$IDX' ";
$row2 = sql_fetch($sql);
if($row2[cnt]>0){
$sql = "update g4_goods set
c_code='$xc_code',

....


g_status='$xg_status'
where idx='$xIDX' limit 1";
}else{

IDX가 없을 경우....


g_status='$xg_status' ";
}
sql_query($sql);
}
|

댓글 2개

1. 애초에 내용에 콤마가 있을 경우 csv로 하시면 안됩니다. 구분자를 콤마가 아니라 필드내용에 없는 문자를 사용해야겠죠. 이건 데이터를 모르기에 더이상 언급은 할 수 없겠네요.

2. sql_query("insert into 테이블 set field1='".mysql_real_escape_string($field)."'"); 처럼 mysql_real_escape_string 함수를 사용하시면 됩니다
댓글을 작성하시려면 로그인이 필요합니다.

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
13-06-19 조회 1,735
13-06-19 조회 1,650
13-06-19 조회 1,828
13-06-19 조회 1,141
13-06-19 조회 1,052
13-06-19 조회 1,100
13-06-19 조회 818
13-06-19 조회 1,678
13-06-19 조회 1,070
13-06-19 조회 1,108
13-06-19 조회 916
13-06-19 조회 1,081
13-06-19 조회 840
13-06-19 조회 1,306
13-06-19 조회 1,665
13-06-19 조회 1,658
13-06-19 조회 1,330
13-06-19 조회 1,110
13-06-19 조회 870
13-06-19 조회 8,366