2016-10-20 4 views
0

기존 WordPress 데이터베이스에 테이블을 만들고 싶습니다. 만들 수 없습니다. 필자는이 코드를 사용자 정의 플러그인 파일에 작성했습니다. 이 코드를 통해 나를 도우십시오.기존 WordPress 데이터베이스에 테이블을 만들 수 없습니다.

function create_xml_table(){ 
    global $wpdb; 
    $tableName = $wpdb->prefix."XMLdata"; 
    $charset_collate = $wpdb->get_charset_collate(); 
    $sql = "CREATE TABLE $tableName(id int(10) NOT NULL AUTO_INCREMENT, 
       user_id varchar(255) NOT NULL, 
       post_id varchar(255) NOT NULL, 
       value varchar(255) DEFAULT '' NOT NULL, 
       time timestamp ON UPDATE CURRENT_TIMESTAMP, 
       PRIMARY KEY (id) 
      ) $charset_collate;"; 
    require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); 
    dbDelta($sql); 
    register_activation_hook(__FILE__, 'create_xml_table'); 
} 
+0

당신의 dbDelta이 전역의 $ EZSQL_ERROR를 호출 한 후 다음을 추가하는 시도하십시오; var_dump ($ EZSQL_ERROR); var_dump는 무엇을 표시합니까? – MirzaP

답변

0

이렇게해야합니다.

function create_xml_table(){ 

global $wpdb; 
$tableName = $wpdb->prefix."XMLdata"; 
$charset_collate = $wpdb->get_charset_collate(); 
$sql = "CREATE TABLE $tableName(id int(10) NOT NULL AUTO_INCREMENT, 
          user_id varchar(255) NOT NULL, 
          post_id varchar(255) NOT NULL, 
          value varchar(255) DEFAULT '' NOT NULL, 
          time timestamp ON UPDATE CURRENT_TIMESTAMP, 
          PRIMARY KEY (id) 
          )$charset_collate;"; 
require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); 
dbDelta($sql); 
} 

register_activation_hook(__FILE__, 'create_xml_table'); 
+0

register_activation_hook() 함수를 닫습니다. – kamleshpal

+0

제 코드와이 코드의 차이점을 설명해주십시오. – user6891871

+0

예, register_activation_hook() 대신 함수를 닫은 후에 이미 설명해 놓았습니다. – kamleshpal

관련 문제