2012-02-06 147 views
1

我有從訪問導出的csv文件。 (格式化爲匹配mysql的日期)LOAD DATA INFILE錯誤

我需要通過代碼將數據導入到mysql數據庫。

當我通過PhpMyAdmin導入文件時,它工作得很好。

$fname = $_FILES['sel_file']['name']; 
$filename = $_FILES['sel_file']['tmp_name']; 
$sql="LOAD DATA INFILE '../filepath/data.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';"; 
mysql_query($sql)or die(mysql_error()); 

我嘗試使用文件路徑或使用變量$文件名,既給了我同樣的錯誤

我收到以下錯誤:

訪問被拒絕的用戶「UNAME」 @'% '(使用密碼:是) 我將權限設置爲777,創建數據庫允許直接訪問。 (我可以使用「INSERT」語句加載文件並從中讀取,但不能加載數據。)

答:LOAD DATA語句是否錯誤?

B.爲了使用LOAD DATA命令,還需要照顧其他什麼東西。

謝謝大家!

回答

3

嘗試LOAD DATA LOCAL INFILE

+0

中提琴!那做了一些事情。謝謝!現在我必須確保數據正在進入,我真的很感激它! LOCAL是什麼意思? – NinaNa 2012-02-06 12:40:45

+2

您正在嘗試從客戶端上傳東西。所以你必須使用LOCAL關鍵字。正如在mysql站點中所述 - LOCAL關鍵字(如果指定的話)將根據連接的客戶端進行解釋。 – thavan 2012-02-06 12:54:48

0

這可能是一個身份驗證問題。請檢查mysql中的導入/導出數據的權限。

+0

至於我可以告訴的權限應該沒問題。我能夠通過文件導入數據循環,並使用INSERT語句,但速度太慢。你能更具體地說明我應該檢查什麼權限嗎? – NinaNa 2012-02-06 12:37:24

+0

@NinaNa:請檢查這[鏈接](http://stackoverflow.com/questions/1014724/mysql-permission-errors-with-load-data) – 2012-02-06 13:21:19