2

シンプルなphpフォームを使用して、txtファイル(|で区切られた)からデータをロードしようとしています。以下はコードです:

$sql = "LOAD DATA INFILE '".$_FILES['file']['tmp_name']."'
INTO TABLE asn_data
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\r\n'
IGNORE 2 LINES
";

しかし、ファイルを参照して送信すると、次のエラーが表示されます。

File '/tmp/phpkR9fXW' not found (Errcode: 13)

構文を次のように変更するLOAD DATA LOCAL INFILEと、次のエラーが表示されます: The used command is not allowed with this MySQL version

PHP のバージョンは 5.3.10、MySQL のバージョンは 5.5、OS は Ubuntu 12.04.1 LTS です。

http://ubuntuforums.org/showthread.php?t=822084に記載されている解決策を試しましたが、うまくいきませんでした。

4

1 に答える 1

0

非常によく似た問題があり、MySQL サーバーがファイルを開くことができなかったパーミッションの問題であることが判明しました。

MySQL Docには、この問題に関する有用な情報が含まれています。

于 2012-10-25T20:03:04.057 に答える