我有一個每天從cron作業運行的php腳本,解壓縮包含文本數據的大型壓縮文件,並將其保存回mySQL數據庫。PHP 5.6 - 這個MySQL版本不允許使用命令
zip文件被更新並每天上傳到FTP文件所在的FTP站點。
這有所有幾個月的工作100%的罰款,但我認爲最近我們的託管將自己升級到PHP 5.6版本,現在我得到這些錯誤:
Error populating table: The used command is not allowed with this MySQL version
用於填充MySQL表的代碼是這樣的:
$loadfile = "LOAD DATA LOCAL INFILE '$textfile' INTO TABLE $tablename FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' IGNORE 1 LINES";
mysqli_query($conn, $loadfile)
我真的不明白的是,有時它似乎運行良好,有時它失敗!也許每週一次它現在可以正常工作,並且在所有其他日子都會失敗。
在PHP中有什麼改變,意味着上面的代碼現在是錯誤的?
任何人都可以幫助上述代碼,讓它在PHP 5.6上可靠地運行嗎?
只是一個想法,有你在,是造成打嗝 – RiggsFolly
檢查你的MySQL版本的一些微妙的方式負載的變化數據。要執行echo'$ loadfile',然後嘗試從cmd或phpmyadmin運行mysql中的原始查詢。這與php版本無關。 –
這個問題不是重複的。我已檢查load data命令是否已啓用。數據格式沒有改變。我知道我們的主機(1&1)最近更新了我們的PHP版本,但我不知道mysql版本是否已更改。 – Richard