2014-04-09 46 views
0

我使用這個語法來插入50個記錄到一個MySQL表:LOAD DATA INFILE不從PHP腳本中工作

$sql = "LOAD DATA INFILE '/home/myusername/timeshts/hmo/tiertwo/myBuilders/BuilderTwo/sql-cron-files/overtime-item.sql' INTO TABLE `ot-item` CHARACTER SET 'utf8' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'"; 

$result = mysql_query($sql,$conn); 
if($result) { echo "Load data Done!!!"; } 

我主要用於Windows路徑和位置,這是Linux,我認爲它是一個路徑問題 - 我正在使用絕對服務器路徑,因爲我不知道'mySQL文檔中建議'數據目錄或數據庫目錄的位置。我想我沒有訪問共享主機上的這些目錄 - 絕對是我最好的選擇。有沒有我在語法中缺少的東西,我只是不能看到?我寫了這個腳本,所以我知道行被一個新的行字符終止,而列被一個單一的commma字符分開。

回答

0

只是一個猜測,但也許你錯過了一個/在路徑的開始。

+0

嗨,我實際上在開始時使用了fwd-slash,然後嘗試沒有它 - 我將編輯我的問題,並再次添加它只是爲了清楚起見 - 謝謝 –

0

您需要文件權限。

聯繫你的DBA執行下面的命令上

批文件。到'usr'@'%';

+0

我會給出一個去,並得到一個更新幫助其他人解決這個令人沮喪的問題。 –

+0

所以沒有更多。檢查文件權限ls -lrth /home/myusername/timeshts/hmo/tiertwo/myBuilders/BuilderTwo/sql-cron-files/overtime-item.sql天氣mysql進程是否有權限。 – user3048109

+0

還在等待DBA對主機的回覆 - 我查看了文件權限,並且,overtime-item.sql腳本有644 - 它駐留的父級和子文件夾都有,755 - 沒有真正理解你的最後回覆(im a Win用戶記住:-) –