【发布时间】:2016-06-01 23:14:40
【问题描述】:
我是 wordpress 插件开发的新手。当有人安装插件并将数据从 csv 文件填充到表中时,我想创建一个新表。
这是我创建表的代码:
$sql = "CREATE TABLE $table_name (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`location` varchar(150) NOT NULL,
`slug` varchar(150) NOT NULL,
`population` int(10) unsigned NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8";
$wpdb->query($sql);
运行后这个表就创建好了。
问题是我发现很难将 data.csv 填充到表中。
在 windows xampp 中它正在工作
$current_plugin_dir = dirname(__FILE__);
$current_plugin_dir = str_replace("\\","\\\\",$current_plugin_dir);
$current_plugin_dir = $current_plugin_dir . '\\\\data.csv';
$sql = "LOAD DATA LOCAL INFILE '$current_plugin_dir' INTO TABLE $table_name";
$wpdb->query($sql);
虽然实时服务器不工作...但下面的代码工作...
$current_plugin_dir = $current_plugin_dir.'/data.csv';
$sql = "LOAD DATA LOCAL INFILE '$current_plugin_dir' INTO TABLE $table_name";
$wpdb->query($sql);
但在我的 ubuntu 操作系统中似乎没有人工作.. 我进行了调试,似乎在 ubuntu 灯环境中运行了以下查询
LOAD DATA LOCAL INFILE '/var/www/html/testwp/wp-content/plugins/plugin-name/data.csv' INTO TABLE test_population
它触发了以下错误
1148 - 此 MySQL 版本不允许使用的命令
是否有在所有平台上加载 csv 的单一方法?有什么帮助吗?
【问题讨论】: