0

こんにちは私はひどくあなたの助けが必要です。

mysql loaddatainfileを使用して.CSVファイルをインポートした後に表示されるエラー。

以下にフォームをアップロードしましたが、正常に機能しています

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

ロードデータ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'] . ")";
  }

ロードデータのローカルinfileが正しいパスを認識できないことを除いて、すべて問題ありません。エラーを参照してください:ファイル'logJan262013.CSV'が見つかりません。ただし、.csvファイルはフォルダ'uploads/'に正常にアップロードされています。どんな助けでもいただければ幸いです。

どうもありがとう!

4

3 に答える 3

1

あなたはクエリを使用しています:

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

フルパスを使用したいと思っていると思います

$mysql = "LOAD DATA LOCAL INFILE '".$path."'...
于 2013-03-11T15:54:36.273 に答える
0

あなたがやる

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

$query = mysqli_query($link, $mysql)

したがって、ファイルが見つからないことは驚くべきことではありLOAD DATAません。

LOAD DATA適切なを指定$pathすると、期待どおりに機能するはずです。

于 2013-03-11T15:55:07.353 に答える
0

エラー LOAD DATA INFILE にパスを伝えていません! パスを教えてみてください。すべて問題ありません。

于 2013-03-11T15:55:22.307 に答える