2015-08-25 27 views
1

我試圖在MySQL中使用插件創建自定義表。下面是相同的代碼:插件無法激活,因爲它引發了一個致命錯誤:意外的'require_once'

<?php 
/* 
Plugin Name: Zenva User Table 
Plugin URI: http://www.getevangelized.com 
Description: A custom table for storing user data 
Version: 1.0 
Author: Manas Chaturvedi 
Author URI: http:www.getevangelized.com 
License: GPL2 
*/ 

register_activation_hook(__FILE__, 'create_update_table'); 


function create_update_table() 
{ 
    global $wpdb; 
    $tablename = $wpdb->prefix."twitteruser"; 

    if($wpdb->get_var("SHOW TABLES LIKE '$tablename'") != $tablename) 
    { 
     $sql = "CREATE TABLE `$tablename`(
      `user_id` INT(20) NOT NULL AUTO_INCREMENT, 
      `twitter_handle` VARCHAR(100) NOT NULL, 
      `oauth_token` VARCHAR(200) NOT NULL, 
      `oauth_token_secret` VARCHAR(200) NOT NULL, 
      `created` DATETIME, 
      PRIMARY KEY (user_id) 
      );" 

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

?> 

但是,同時激活從WordPress後臺插件,我遇到了以下錯誤:

Parse error: syntax error, unexpected 'require_once' (T_REQUIRE_ONCE) in /opt/lampp/htdocs/wordpress/wp-content/plugins/user_table/user_table.php on line 31 

出了什麼錯在這裏?我確實檢查了我的WordPress安裝中是否安裝了upgrade.php文件。

這裏似乎有什麼錯?

回答

1

$sql = "…"塊的末尾缺少一個分號。

$sql = "CREATE TABLE `$tablename`(
    `user_id` INT(20) NOT NULL AUTO_INCREMENT, 
    `twitter_handle` VARCHAR(100) NOT NULL, 
    `oauth_token` VARCHAR(200) NOT NULL, 
    `oauth_token_secret` VARCHAR(200) NOT NULL, 
    `created` DATETIME, 
    PRIMARY KEY (user_id) 
    );"; // <---- here 
+0

不能相信我放錯了那個分號。現在一直試圖調試這個小時。謝謝! –

相關問題