打印创建表格的输出

时间:2013-04-26 作者:William

我正在创建一些表,并得到以下消息:

该插件在激活期间生成了440个字符的意外输出。如果您注意到“headers ready sent”消息、联合提要问题或其他问题,请尝试停用或删除此插件。

代码如下:

global $wpdb;

require_once( ABSPATH . \'wp-admin/includes/upgrade.php\' );

$table_name = $wpdb->prefix . jp_event_table;

$sql = "CREATE TABLE IF NOT EXISTS $table_name (
    id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
    event_id BIGINT(20) UNSIGNED NOT NULL,
    name VARCHAR(50) NOT NULL,
    description TEXT,
    spaces INT,
    PRIMARY KEY  (ticket_id)
    ) ENGINE=InnoDB ;";

dbDelta($sql);

$sqlcomm = "CREATE TABLE IF NOT EXISTS WP_AWESOME_TABLES (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    PRIMARY KEY  (id)
    ) ENGINE=InnoDB ;";

dbDelta($sqlcomm);
我四处寻找,但找不到解决办法。我知道使用dbDelta()有一些奇怪之处(比如在主键后必须正好有两个空格),但我遗漏了什么吗?

More importantly: 有什么方法可以让我看到返回的字符吗?可能是错误消息告诉我哪行代码引发了错误吗?我已经打开了PHP调试,但没有输出任何内容。

如有任何建议,将不胜感激!

1 个回复
SO网友:ksr89

function jal_install() {

   global $jal_db_version;

   $sql = "CREATE TABLE IF NOT EXISTS WP_AWESOME_TABLES (
           id mediumint(9) NOT NULL AUTO_INCREMENT,
           PRIMARY KEY id (id)
           );";

   require_once( ABSPATH . \'wp-admin/includes/upgrade.php\' );

   dbDelta( $sql );

   add_option( "jal_db_version", $jal_db_version ); 

}

register_activation_hook( _____FILE_____, \'jal_install\' );
你必须钩住这个函数。激活后,将创建插件表。

http://codex.wordpress.org/Creating_Tables_with_Plugins

结束