2010-11-24 10 views
1

je l'ai déjà créé avec succès la table:Pourquoi je ne peux pas accéder à la table nouvellement créée dans wordpress de cette façon?

function jal_install() { 
    global $wpdb; 
    global $jal_db_version; 
    $table_name = $wpdb->prefix . "liveshoutbox"; 
    if($wpdb->get_var("show tables like '$table_name'") != $table_name) { 
     $sql = "CREATE TABLE " . $table_name . " (

id mediumint(9) NOT NULL AUTO_INCREMENT, time bigint(11) DEFAULT '0' NOT NULL, name tinytext NOT NULL, text text NOT NULL, url VARCHAR(55) NOT NULL, UNIQUE KEY id (id));"; 

    require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); 
    dbDelta($sql); 
    $welcome_name = "Mr. Wordpress"; 
    $welcome_text = "Congratulations, you just completed the installation!"; 
    $insert = "INSERT INTO " . $table_name . 
      " (time, name, text) " . 
      "VALUES ('" . time() . "','" . $wpdb->escape($welcome_name) . "','" . $wpdb->escape($welcome_text) . "')"; 
    $results = $wpdb->query($insert); 
    } 
} 

jal_install(); 

Mais lorsque je tente de se référer à ce tableau que la façon dont WP fait référence à ses tables internes comme $wpdb->posts:

var_dump($wpdb->liveshoutbox); 

La sortie est:

null 

Pourquoi?

+0

Avez-vous un préfixe de table? Qu'attendez-vous lorsque vous var_dump ($ wpdb-> liveshoutbox); ? Toutes les entrées de la table? –

+0

Pas 100% mais comment WP sait que vous avez une nouvelle table dans la base de données. $ wpdb-> les messages peuvent fonctionner parce que WP sait qui existe et est assigné au moment de la création de l'objet ($ wpdb). Voici la classe wpdb sur le site wp: http://goo.gl/We4o –

+0

J'ai essayé '$ wpdb-> wp_liveshoutbox', également' null'. – wp2

Répondre

1

Je sais que ça fait un alors que ce fil est apparu, mais pensé que je partagerais comment je l'ai résolu. La réponse semble être de se référer au nom de la table dans son intégralité, y compris le préfixe sans $ wpdb->. Je ne suis pas sûr que cela fonctionne pour var_dump, mais il l'a fait pour obtenir des lignes et des résultats

Questions connexes