我知道以前曾有人问过这个问题,但是我找不到任何新的帖子可能会对您有所帮助。直到今天,LOAD DATA LOCAL INFILE一直运行良好。除了为PHP和(不确定,但我认为)MariaDB运行了更新之外,我没有做任何其他更改。我现在正在运行PHP 7.2.17和MariaDB 10.1.38现在我收到此错误: 警告:mysqli :: query():禁止加载数据本地文件我检查了我能找到的内容:-数据库用户具有所有权限,即使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 回答
![?](http://img1.sycdn.imooc.com/5458502c00012d4a02200220-100-100.jpg)
蛊毒传说
TA贡献1895条经验 获得超3个赞
我只是唤醒了我的一个应用程序,使用php7.2和mysqli做着完全相同的事情。
当我检查时,似乎我的php7.2已于昨晚升级为Ubuntu自动安全更新的一部分less /var/log/apt/history.log
。
我的local_infile
变量也处于启用状态,但似乎没有起作用。我通过以下方式解决了我的问题:
mysqli_options($conn, MYSQLI_OPT_LOCAL_INFILE, true)
- 2 回答
- 0 关注
- 180 浏览
添加回答
举报
0/150
提交
取消