테스트 사이트 - 개발 중인 베타 버전입니다

txt파일 업로드 후, 쿼리 실행 시, 빈값이 있을 경우, 쿼리 실행이 되지 않는 현상 채택완료

qoqofh 3년 전 조회 2,680

</p>

<pre>
<code>$csvLoad = file($_FILES['fr_od_id']['tmp_name']);
 $csvArray = explode("\n",implode($csvLoad));
 $k = 0;
 for($i=0;$i<count($csvArray[$i]);$i++) {
  $a=explode("\t", $csvArray[$i]);
  $a[0] = trim($a[0]);
  $a[1] = trim($a[1]);
  $a[2] = trim($a[2]);
  $a[3] = trim($a[3]);
  $a[4] = trim($a[4]);
  $a[5] = trim($a[5]);
 
  $sql = "UPDATE dbmain.table
    SET     YN = '{$a[1]}',
            YN_DT = '{$a[2]}',
            PRICE = {$a[3]},
            PRICE_DT = '{$a[4]}',
            CYN = '{$a[5]}'
    WHERE    no = {$a[0]}";
  
  echo $sql;
  $rst = mysqli_query($connect, $sql);
  $k++;
 }</code></pre>

<p>

 

 

엑셀을 txt파일로 변환 후, 이렇게 txt파일을 업로드하여 쿼리를 실행하게 하였습니다. 

 

그런데 문제가.. 예를들어  YN_DT = '{$a[2]}' 여기에 값이 없을경우에 쿼리가 실행되지 않아 문제입니다.

즉, 한개라도 값이 안들어가있을 경우에 실행이 되지 않는데,

 

쿼리구문에서 값이 없는건 SET에서 빠지는? 개념으로 하려고 하는데, 어떻게 짜야할지 모르겠네요 ㅠㅠ

 

다른방법이나 해당 내용의 해결조언좀 듣고 싶습니다 ㅠ

 

이런식으로 되어있는경우, 위에껀 정상적으로 작동되지만, 아래껀 작동되지 않네요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

sql_mode를 삭제하고 해 보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

q
qoqofh
3년 전
그게 어떤말씀인지 알 수 있을까요...?

sql 로 확인하지말고 에코로 먼저 찍어보라는 말씀이실까요?
q
qoqofh
3년 전
아 구글링 해서 이해했습니다 ㅎㅎ 티스토리가 안되서 찾기가 힘드네요...ㅎ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인