嗨,我非常需要你的幫助。Mysql加載數據錯誤路徑
使用mysql load data infile導入.CSV文件後顯示錯誤。
下面我有這一種形式上傳做工精細
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
和使用PHP上傳腳本LOAD DATA 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 /'中。任何幫助,將不勝感激。
非常感謝!
使用完整路徑,而不僅僅是文件名。 – 2013-03-11 15:53:17
只是因爲您將文件移動到該上傳文件夾並不意味着mysql實際上會在那裏查找它。你也打開你的服務器到這個代碼的總體遠程妥協(不要直接在文件系統操作中使用用戶提供的'['name']')。 – 2013-03-11 15:55:20