본문 바로가기
MySql

MySQL PHP MySQL LOAD DATA INFILE 도움말

by 베이스 공부 2020. 10. 7.
반응형

이 쿼리가 제대로 작동하지 않는 것 같습니다. 기본적으로 양식에서 csv를 가져 와서 데이터베이스에로드하려고합니다. phpmyadmin에서 대부분의 쿼리를 가져 왔습니다. 임시 파일을 사용해야합니까? 여기있어...

<form name = "price_chart" method="post" action="index.php?option=<?php echo $option ?>&task=complete" enctype="multipart/form-data">
<label>File: </label>
<input type="file" name="white" id="white"/><br />
<input type="hidden" value="TEST" name = "test" />
<input type="submit" name = "upload" value="Upload File" />
</form>

<?php
}
function complete($option){
$pfile = $_FILES['white']['name'];  
$ptmpName = $_FILES['white']['tmp_name'];
$test = $_POST['test'];
$result = mysql_query("LOAD DATA LOCAL INFILE '$ptmpName' REPLACE INTO TABLE 'jos_rates_table' FIELDS TERMINATED BY ',' ENCLOSED BY ' ' ESCAPED BY '\\' LINES TERMINATED BY '\n'('country' , 'rate')")or die ('Error: '.mysql_error ());
        while ($row = mysql_fetch_array($result)) {
        }
        $num_rows = mysql_num_rows($result);
        echo $num_rows;
}

업데이트 : 다음은 오류 메시지입니다.

SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 ''jos_rates_table 'FIELDS TERMINATED BY', 'ENCLOSED BY' 'ESCAPED BY'\ 'LINES'at line 1 근처에서 사용할 올바른 구문을 확인하십시오.

 

해결 방법

 

줄로 끝나는 절에 대해 슬래시를 이스케이프해야합니다. 그렇지 않으면 쿼리에 개행을 추가했습니다.

'\\ n'으로 종료 된 줄

Mysql은 \ n 을 얻지 만 PHP는이를 해석하려고 시도하므로 이스케이프해야합니다.

다른 문제가있을 수 있지만 어떤 일이 발생하는지 알려주지 않았습니다.

 

참조 페이지 https://stackoverflow.com/questions/6114651

 

 

반응형

댓글