csv로 DB에 입력할때 필드 내용에 있는 콤마와 쌍따옴표에 대한 처리문제 > 그누4 질문답변

그누4 질문답변

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

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

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);
}
작성자에 의해 채택됐습니다.
1. 애초에 내용에 콤마가 있을 경우 csv로 하시면 안됩니다. 구분자를 콤마가 아니라 필드내용에 없는 문자를 사용해야겠죠. 이건 데이터를 모르기에 더이상 언급은 할 수 없겠네요.

2. sql_query("insert into 테이블 set field1='".mysql_real_escape_string($field)."'"); 처럼 mysql_real_escape_string 함수를 사용하시면 됩니다

댓글 전체

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

2. sql_query("insert into 테이블 set field1='".mysql_real_escape_string($field)."'"); 처럼 mysql_real_escape_string 함수를 사용하시면 됩니다
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT