导入csv到mysql db表期间找不到文件

u5i3ibmn  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(364)

“我的网站”的文件夹结构如下:www.mysite.it/site/scripts.
在这个路径中有两个文件:import.php和tabella.csv。
tabella.csv是如下csv文件:

  1. "2016-09-02", 100.01, 4005.09, 5000, 1.09, 120.09, 100.5, 200.77
  2. "2016-09-03", 150.01, 4205.09, 5600, 1.10, 150.09, 300.5,300.77

import.php是执行te import的php脚本,其文件如下:

  1. <?php
  2. $csvFile = "../scripts/tabella.csv";
  3. $db = @mysql_connect('****', '****', '****');
  4. @mysql_select_db('******');
  5. $query = 'LOAD DATA LOCAL INFILE \' '. $csvFile .' \' INTO TABLE rame
  6. FIELDS TERMINATED BY \',\'
  7. LINES TERMINATED BY \'\r\n\'
  8. IGNORE 1 LINES
  9. (
  10. giorno,
  11. lmedollton,
  12. changedolleuro,
  13. euroton,
  14. lmesterton,
  15. delnotiz,
  16. girm,
  17. sgm
  18. )';
  19. if(!mysql_query($query)){
  20. die(mysql_error());
  21. }
  22. mysql_close($db);
  23. ?>

错误是“找不到文件”:我试图使用“tabella.csv”和realpath(使用realpath php函数),但错误总是一样的。哪一个是我必须分配给$csvfile变量的正确字符串?你能帮帮我吗?

nszi6y05

nszi6y051#

您应该提供csv文件的绝对路径,例如。

  1. $csvFile = "/var/www/htdocs/site/scripts/tabella.csv"

因为mysql将无法解析相对于apachehttpdoc根目录的路径。另请参见mysql文档:
如果指定了local,则该文件将由客户机主机上的客户机程序读取并发送到服务器。文件可以作为完整路径名指定其确切位置。如果作为相对路径名给出,则该名称将相对于启动客户机程序的目录进行解释。

相关问题