2013-07-08 46 views
0

我想创建一个WordPress插件中的数据库。数据库将保存关于可以在此插件中创建的包的信息。WordPress插件,数据库没有创造

这里是我的代码来创建表:

function create_wispabb_table() { 
global $wpdb; 
$table_name = $wpdb->prefix . "wispabb_packages"; 
//create table 
$query = "CREATE TABLE IF NOT EXISTS `$table_name` (
    `package_id` int(15) NOT NULL auto_increment, 
     `name` varchar(250) collate utf8_unicode_ci NOT NULL, 
     `description` text collate utf8_unicode_ci NOT NULL, 
     `backup_capacity` int(10) NOT NULL, 
     `briefcase_capacity` int(10) NOT NULL, 
    `upload_speed` int(10) NOT NULL, 
    `monthly_price` float(10,2) NOT NULL, 
    PRIMARY KEY (`package_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;"; 
    $wpdb->query($query); 
} 

当我尝试调用数据库显示包或添加一个新的包我得到以下错误。 WordPress数据库错误:[表“wordpress.wp_wispabb_packages”不存在]

我不知道我错过了什么,任何帮助,将不胜感激!

+0

可以为前'这个 –

+0

使用'echo'简单使用的mysql_query( '查询')executing'的'查询“,然后在'phpmyadmin'或'mysql'中运行'query'。你还没有创建'database',你只是创建一个'table'。对? –

+0

对不起,在数据库中添加一个表。我的错。我在哪里放回声? $查询之前?前 – user1937185

回答

0

在页面中添加这种,

add_action('init','create_wispabb_table'); 

或者

register_activation_hook(__FILE__, 'create_wispabb_table'); 
+0

当我补充说,之后它刷新所有我得到的是 CREATE TABLE IF NOT EXISTS''wp_wispabb_packages'('package_id' int(15)NOT NULL auto_increment,'name' varchar(250)collat​​e utf8_unicode_ci NOT NULL,'description' text collat​​e utf8_unicode_ci NOT NULL,'backup_capacity 'INT(10)NOT NULL,'briefcase_capacity' INT(10)NOT NULL,'upload_speed' INT(10)NOT NULL,'monthly_price'浮子(10,2)NOT NULL,PRIMARY KEY('package_id'))ENGINE = MyISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci AUTO_INCREMENT = 1; – user1937185

+0

运行这个'query'在'mysql'或'phpmyadmin' –

+0

我需要的插件创建表 – user1937185