2013-03-11 2 views
0

안녕하세요, 당신이 도움이 필요합니다.MySQL로드 데이터 infile 잘못된 경로

mysql로드 데이터 infile을 사용하여 .CSV 파일을 가져온 후 오류가 표시됩니다.

나는 양식 업로드가 그 이하 미세

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Untitled Document</title> 
</head> 

와 PHP 업로드 스크립트를 사용하여로드 데이터 INFILE 작업이 있습니다.

require("../config/conn.php"); 


    if (is_uploaded_file($_FILES['my-file']['tmp_name']) && $_FILES['my-file']['error']==0) { 
    $path = 'C:/xampp/htdocs/dom/test/uploads/' . $_FILES['my-file']['name']; 
    if (!file_exists($path)) { 
     if (move_uploaded_file($_FILES['my-file']['tmp_name'], $path)) { 

     echo $mysql = "LOAD DATA LOCAL INFILE '".$_FILES['my-file']['name']."' 
       REPLACE INTO TABLE table 
       FIELDS 
        TERMINATED BY ',' 
       LINES 
        TERMINATED BY '\\n' 
       IGNORE 1 LINES 
       (`col1`,`col2`,`col3`,`col4`,`col5`....)"; 

       $query = mysqli_query($link, $mysql) or die(mysqli_error($link)); 

if(!$query) 
{ 
    printf("Error message: %s\n", mysqli_error($link));  
} 




     } else { 
     echo "The file was not uploaded successfully."; 
     } 
    } else { 
     echo "File already exists. Please upload another file."; 
    } 
    } else { 
    echo "The file was not uploaded successfully."; 
    echo "(Error Code:" . $_FILES['my-file']['error'] . ")"; 
    } 

로드 데이터 로컬 infile이 올바른 경로를 볼 수 없다는 점을 제외하면 모든 것이 좋습니다. 오류 : 'logJan262013.CSV'파일을 찾을 수 없습니다. .csv 파일은 'uploads /'폴더에 성공적으로 업로드됩니다. 어떤 도움을 주시면 감사하겠습니다.

감사합니다.

+2

파일 이름뿐만 아니라 전체 경로를 사용하십시오. –

+0

파일을 해당 uploads 폴더로 옮겼다 고해서 mysql이 실제로 그 파일을 찾지는 않는다는 것을 의미합니다. 또한이 코드를 사용하여 서버를 원격으로 완벽하게 손상시킬 수 있습니다 (파일 시스템 작업에서 사용자가 제공 한'[ 'name']'을 사용하지 마십시오). 덕분에 –

답변

1

당신은 쿼리를 사용하고 있습니다 :

$mysql = "LOAD DATA LOCAL INFILE '".$_FILES['my-file']['name']."'... 

을 나는 당신이 당신이 할

$mysql = "LOAD DATA LOCAL INFILE '".$path."'... 
+0

. 그 일은 지금이다. – phphopzter

0

전체 경로를 사용하고자하는 믿는다

if (move_uploaded_file($_FILES['my-file']['tmp_name'], $path)) { 

$query = mysqli_query($link, $mysql) 

따라서 놀라운 것은 아니며 LOAD DATA이 파일을 찾지 못한다는 것입니다.

LOAD DATA에 적절한 $path을 지정하면 예상대로 작동합니다.

0

오류가 발생했습니다.로드 데이터가 경로에 알려지지 않았습니다. 경로를 말하면 모든 것이 정상이어야합니다.

관련 문제