Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否将远程CSV导入mySQL表?_Php_Mysql_Csv - Fatal编程技术网

Php 是否将远程CSV导入mySQL表?

Php 是否将远程CSV导入mySQL表?,php,mysql,csv,Php,Mysql,Csv,有人能给我一些关于如何创建PHP脚本将远程csv文件加载到mySQL表中的建议吗 我已经用CSV中的字段和相关类型设置了mySQL表 如果文件在本地系统上,我相信我可以使用以下内容: LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table; 最终的解决方案将是一个linux服务器,它有一个cronjob在每天早上4点运行php脚本。CSV文件将位于需要登录凭据的SFTP共享中。不幸的是,它不能位于同一个框上 考虑到西蒙斯在下面的评论,我现在正努力

有人能给我一些关于如何创建PHP脚本将远程csv文件加载到mySQL表中的建议吗

我已经用CSV中的字段和相关类型设置了mySQL表

如果文件在本地系统上,我相信我可以使用以下内容:

LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table;
最终的解决方案将是一个linux服务器,它有一个cronjob在每天早上4点运行php脚本。CSV文件将位于需要登录凭据的SFTP共享中。不幸的是,它不能位于同一个框上

考虑到西蒙斯在下面的评论,我现在正努力将其导入本地:

$data = $conn->query('LOAD DATA INFILE ' .$filelocation. ' INTO TABLE wl_transactions FIELDS TERMINATED BY ";" IGNORE 1 LINES');

如果您可以从PHP写入MySQL服务器的本地文件系统,您可以使用来检索远程文件,然后将其保存到本地文件,最后触发
加载数据
命令。

这就是我如何让它在WordPress插件环境中工作的,希望它能对您有所帮助

我首先创建了一个表单,用户可以在其中选择csv文件并选择其他设置

这些设置位于$this->csv\u设置数组中

if(isset($this->csv_settings['ignore'])):
    $ignore = "IGNORE 1 LINES ({{The columns to ignore}})";
else:
    $this->csv_settings['ignore'] = NULL;
endif;

/** @var wpdb $wpdb */
global $wpdb;
$result = $wpdb->query($wpdb->prepare('load data local infile \'$this->path_to_file\' into table {{your table name}} fields terminated by \'' . $this->csv_settings['terminated'] . '\' enclosed by \'' . $this->csv_settings['enclosed'] . '\' lines terminated by \'' . $this->csv_settings['lines'] . '\' '. $ignore.';'));

这将是有帮助的:我相信它现在已经过时了,它不使用PDO,而且据我所知,现在加载数据意味着你不必循环浏览内容。我将试一试。当前我的加载数据代码存在问题。更新问题更新:你现在在挣扎什么?我觉得这个问题很好。你看过MySQL手册中提到的安全要求了吗?(运行
LOAD DATA infle
所需的权限、文件权限、
secure\u file\u priv
服务器变量?