【问题标题】:Creating database table when installing a wordpress plugin安装 wordpress 插件时创建数据库表
【发布时间】:2012-05-03 17:40:36
【问题描述】:

我想在安装我创建的插件后在数据库中创建一个表。

在我的主插件文件(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的指示进行操作

但它不起作用。

这段代码似乎有什么问题?

【问题讨论】:

  • 您是否在 error_log 中收到任何错误?如果直接在 MySQL 控制台执行查询会发生什么?
  • 没有错误的人。它只是不起作用。
  • 为什么查询字符串的末尾有分号??
  • 我猜分号是可以的。为什么?
  • 分号不属于查询字符串。至少我从未在那里见过他们。

标签: php mysql database wordpress


【解决方案1】:
limit varchar(50) NOT NULL,

limit 是一个关键字,换成其他类似

`limit` varchar(50) NOT NULL,

在关键字周围使用反引号

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 2015-02-21
    • 2016-09-06
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多