简体   繁体   English

MySQL加载数据infile错误路径

[英]Mysql load data infile wrong path

Hi I badly need you help. 嗨,我非常需要您的帮助。

Error showing after importing .CSV file using mysql load data infile. 使用mysql加载数据infile导入.CSV文件后显示错误。

I have a form upload below which working fine 我有一个表格上传,下面可以正常工作

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

and a PHP upload script using load data infile. 以及使用加载数据文件的PHP上传脚本。

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'] . ")";
  }

Everything is fine, except the load data local infile cannot see the right path. 一切都很好,除了加载数据本地文件名看不到正确的路径。 please see the error: Can't find file 'logJan262013.CSV'. 请查看错误: 找不到文件“ logJan262013.CSV”。 but the .csv file is uploaded successfully in folder 'uploads/'. 但是.csv文件已成功上传到文件夹“ uploads /”中。 Any help would be appreciated. 任何帮助,将不胜感激。

thanks alot! 非常感谢!

You're using the query: 您正在使用查询:

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

I do believe you are wishing to use the full path 我相信您希望使用完整的路径

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

You do 你做

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

before 之前

$query = mysqli_query($link, $mysql)

So, it is not surprising, that LOAD DATA doesn't find the file. 因此, LOAD DATA找不到文件也就不足为奇了。

If you give LOAD DATA the proper $path , it should work as expected. 如果您给LOAD DATA适当的$path ,它应该可以按预期工作。

Err you haven't told the LOAD DATA INFILE the path! 错误,您还没有告诉LOAD DATA INFILE路径! Try telling it the path and all should be OK. 尝试告诉它路径,一切都应该没问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM