2013-07-08 49 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