Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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
Database Wordpress插件创建数据库表_Database_Wordpress_Plugins - Fatal编程技术网

Database Wordpress插件创建数据库表

Database Wordpress插件创建数据库表,database,wordpress,plugins,Database,Wordpress,Plugins,我目前正在开发一个供个人使用的插件,但我无法让该插件创建一个表,我尝试激活该插件,但它没有创建一个表。这是我的代码: team-monobattle-registration.php: <?php /* Plugin Name: Team Monobattle Registration Plugin URI: http://www.web-geeks.com/ Description: Plugin for registering teams for monobattles. Author

我目前正在开发一个供个人使用的插件,但我无法让该插件创建一个表,我尝试激活该插件,但它没有创建一个表。这是我的代码:

team-monobattle-registration.php:

<?php
/*
Plugin Name: Team Monobattle Registration
Plugin URI: http://www.web-geeks.com/
Description: Plugin for registering teams for monobattles.
Author: Web-geeks
Version: 1.0
Author URI: http://www.web-geeks.com/
*/

function tmbr_admin() {
    include('team-monobattle-admin.php');
}

function tmbr_admin_actions() {
    add_options_page('Team Monobattle Registration', 'Team Monobattle Registration', 'manage_options', 'tmbr', 'tmbr_admin');
}

add_action('admin_menu', 'tmbr_admin_actions');

include('team-monobattle-database.php');

register_activation_hook(__FILE__, 'tmbr_install');
?>

team-monobattle-database.php:

<?php

global $tmbr_db_table_version;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
$tmbr_db_table_version = "1.0";
global $wpdb;

function tmbr_install()
{

    global $tmbr_db_table_version;
    $installed_ver = get_option( "tmbr_db_table_version" );

    if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != 'wp_teammonobattleteams' ||  $installed_ver != $tmbr_db_table_version ) {

    $sql = "CREATE TABLE wp_teammonobattleteams (
    teamid mediumint(9) NOT NULL AUTO_INCREMENT,
    teamname tinytext NOT NULL,
    pname1 tinytext NOT NULL,
    pid1 smallint NOT NULL,
    pname2 tinytext NOT NULL,
    pid2 smallint NOT NULL,
    pname3 tinytext NOT NULL,
    pid3 smallint NOT NULL,
    pname4 tinytext NOT NULL,
    pid4 smallint NOT NULL,
    UNIQUE KEY id (id)
    );";

    dbDelta($sql);

    echo('installed');
    }

}
?>

变量必须在函数内部。

使用“创建表”不安全。因为如果表已经存在,那么mysql查询中将出错。还报告了无法避免的错误。 因此,尝试使用“如果不存在,则创建表”。这是很好的做法

如果在创建表时遇到任何问题,请阅读一些联机教程并创建一个。这里有一个链接供您参考


有人能帮我一下吗。。。。请有错误信息吗?你能看懂桌子吗?谢谢!我都弄明白了!:)
<div class="wrap">
<?php    echo "<h2>" . __( 'Team Monobattle Admin', 'tmbr_admin' ) . "</h2>"; ?>
</div>