Jetoox
Jetoox

Reputation: 1437

Creating database table when installing a wordpress plugin

I want to create a table into the database upon installing the plugin I've created.

In my main plugin file (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);
}

I just followed the instructions from this http://codex.wordpress.org/Creating_Tables_with_Plugins

But it doesn't work.

What seems to be the problem with this code?

Upvotes: 3

Views: 5316

Answers (1)

Avyakt
Avyakt

Reputation: 315

limit varchar(50) NOT NULL,

Limit is a keyword, change to something else like

`limit` varchar(50) NOT NULL,

Use back ticks around keywords

Upvotes: 6

Related Questions