Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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 Wordpress插件:检查表是否存在,创建表并插入大量数据_Php_Mysql_Wordpress - Fatal编程技术网

Php Wordpress插件:检查表是否存在,创建表并插入大量数据

Php Wordpress插件:检查表是否存在,创建表并插入大量数据,php,mysql,wordpress,Php,Mysql,Wordpress,我目前有一个wordpress插件,它工作得很好,但现在我面临的问题是确保它可以部署在任何服务器实例上。基本上,我正试图让插件创建我需要的表,并在激活插件时自动插入大量数据(11k+行)。我已经导出了包含所有表(3.8MB)的sql文件 下面是我计划实现和定制的代码,但我不确定如何引用SQL文件,以及如何创建5个单独的表来插入所有数据 //action hook for plugin activation register_activation_hook( __FILE__, 'callback

我目前有一个wordpress插件,它工作得很好,但现在我面临的问题是确保它可以部署在任何服务器实例上。基本上,我正试图让插件创建我需要的表,并在激活插件时自动插入大量数据(11k+行)。我已经导出了包含所有表(3.8MB)的sql文件

下面是我计划实现和定制的代码,但我不确定如何引用SQL文件,以及如何创建5个单独的表来插入所有数据

//action hook for plugin activation
register_activation_hook( __FILE__, 'callback_plugin' );
//callback function
function callback_plugin(){
    global $wpdb;
    $table_name = $wpdb->prefix . "your-table-name";
    if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
        $sql = "CREATE TABLE $table_name (
                id int NOT NULL AUTO_INCREMENT,
                name tinytext NOT NULL
                );";
        //reference to upgrade.php file
        require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
        dbDelta( $sql );
    }
}

非常感谢您的任何帮助

取决于您是在自己的服务器上部署,还是在未知服务器上部署

在一次运行中需要执行大量SQL操作。我会考虑把它构建成一个队列系统,并通过一个基于Ajax的导入来运行,即:导入11000的行1或其他。例如,您可能会执行10行的批处理

所以有人激活了插件

将他们重定向到“安装屏幕”,并说“这可能需要几分钟”

点击安装按钮

jQuery现在循环遍历一个列表,一次添加10行(例如),然后在完成后显示一条消息

如果你在一家廉价的共享主机公司上尝试,你会有超时、部分数据导入等情况。。有点乱