2012-04-23 63 views
3

我想在安裝我創建的插件時創建一個表到數據庫中。安裝wordpress插件時創建數據庫表

在我的主要插件文件(的index.php):

register_activation_hook(__FILE__, 'wnm_install'); 

global $wnm_db_version; 
$wnm_db_version = "1.0"; 

function wnm_install(){ 
global $wpdb; 
global $wnm_db_version; 
$sql = "CREATE TABLE tbl_campaigns (
campaignID int(11) NOT NULL AUTO_INCREMENT, 
campaign_name varchar(128) NOT NULL, 
start_duration date NOT NULL, 
end_duration date NOT NULL, 
activity varchar(500) NOT NULL, 
survey_settings varchar(50) NOT NULL, 
limit varchar(50) NOT NULL, 
goal varchar(100) DEFAULT NULL, 
PRIMARY KEY (campaignID) 
) ;"; 

require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); 
dbDelta($sql); 
add_option("wnm_db_version", $wnm_db_version); 
} 

我只是跟着從這個http://codex.wordpress.org/Creating_Tables_with_Plugins

指示,但它不工作。

什麼似乎是這個代碼的問題?

+1

你會在error_log得到任何錯誤?如果您在MySQL控制檯中直接執行查詢會發生什麼? – Sudar 2012-04-23 05:18:42

+0

有沒有錯誤的人。它只是沒有用。 – Jetoox 2012-04-23 05:25:22

+0

爲什麼在查詢字符串的末尾有一個分號? – 2012-04-23 05:26:28

回答

6
limit varchar(50) NOT NULL, 

限制是一個關鍵字,更改爲其他類似

`limit` varchar(50) NOT NULL, 

使用反勾圍繞關鍵字

+0

我敢打賭就是這樣 – 2012-04-23 05:45:23