我知道以前曾有人問過這個問題,但是我找不到任何新的帖子可能會對您有所幫助。直到今天,LOAD DATA LOCAL INFILE一直運行良好。除了為PHP和(不確定,但我認為)MariaDB運行了更新之外,我沒有做任何其他更改。我現(xiàn)在正在運行PHP 7.2.17和MariaDB 10.1.38現(xiàn)在我收到此錯誤: 警告:mysqli :: query():禁止加載數(shù)據(jù)本地文件我檢查了我能找到的內(nèi)容:-數(shù)據(jù)庫用戶具有所有權限,即使root用戶也遇到此錯誤-檢查my.cnf中是否有條目local-infile = 1在mysql命令行中,load語句工作正常,但在PHP腳本中,效果不佳。這是我運行導入的方法:define ('DB_USER', "db_user");define ('DB_PASSWORD', "my_password");define ('DB_DATABASE', "prosjekt");define ('DB_HOST', "localhost");$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);我在最后一行得到錯誤-> $ mysqli-> query($ query);$query = <<<eof LOAD DATA LOCAL INFILE '$fileName' INTO TABLE prosjekt FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r' (prosjektnavn,prosjektstatus,prosjektbesk,oppdragsgiver,prosjektans,prosjektdelt,start,slutt,prosjektnr,prosjekttype,sortnr,ant_rapport,litt_link)eof;$mysqli->query($query);因此,我可以在mysql控制臺中正常運行,但不能在PHP腳本中運行,今天它開始失敗。任何想法如何解決?當我運行SHOW VARIABLES時;我明白了,所以它應該工作嗎?
2 回答

蠱毒傳說
TA貢獻1895條經(jīng)驗 獲得超3個贊
我只是喚醒了我的一個應用程序,使用php7.2和mysqli做著完全相同的事情。
當我檢查時,似乎我的php7.2已于昨晚升級為Ubuntu自動安全更新的一部分less /var/log/apt/history.log
。
我的local_infile
變量也處于啟用狀態(tài),但似乎沒有起作用。我通過以下方式解決了我的問題:
mysqli_options($conn, MYSQLI_OPT_LOCAL_INFILE, true)
- 2 回答
- 0 關注
- 208 瀏覽
添加回答
舉報
0/150
提交
取消