Создать новую таблицу с Wordpress API - PullRequest
0 голосов
/ 16 мая 2010

Я пытаюсь создать новый плагин для отслеживания популярных сообщений на основе просмотров, и у меня все готово и готово к работе, но я не могу создать новую таблицу с помощью Wordpress API (я могу сделать это с стандартный PHP или с phpMyAdmin, но я хочу, чтобы этот плагин был самодостаточным).

Я пробовал несколько способов ($ wpdb-> query, $ wpdb-> get_results, dbDelta), но ни один из них не создаст новую таблицу.

function create_table(){
global $wpdb;
$tablename = $wpdb->prefix.'popular_by_views';
$ppbv_table = $wpdb->get_results("SHOW TABLES LIKE '".$tablename."'" , ARRAY_N);
if(is_null($ppbv_table)){
    $create_table_sql = "CREATE TABLE '".$tablename."' (
        'id' BIGINT(50) NOT NULL AUTO_INCREMENT, 
        'url' VARCHAR(255) NOT NULL, 
        'views' BIGINT(50) NOT NULL, 
        PRIMARY KEY ('id'), 
        UNIQUE ('id')
    );";
    $wpdb->show_errors();
    $wpdb->flush();
    if(is_null($wpdb->get_results("SHOW TABLES LIKE '".$tablename."'" , ARRAY_N))) echo 'crap, the SQL failed.';
}
else echo 'table already exists, nothing left to do.';}

1 Ответ

0 голосов
/ 17 мая 2010

Проблема была с оператором SQL, а не PRIMARY KEY ('id'), UNIQUE ('id') использование PRIMARY KEY (id), UNIQUE (id).

...