I am quite new in WP Plugin World. I am trying to develop a plugin in WP 3.1 when I am trying to insert data into my table named “wp_enam” in the following way:

$wpdb->insert($wpdb->enam, array('username' => "enam" ,
                                 'useremail' => "myemail@somedomain.com"));

it is not working.

I try to debug it in following way:

$wpdb->show_errors();
$wpdb->insert($wpdb->enam, array('username' => "enam" ,
                                 'useremail' => "myemail@somedomain.com"));
$wpdb->print_error(); 

Now I am getting following message from MR.WP

WordPress database error: [Incorrect table name '']
INSERT INTO `` (`username`,`useremail`) VALUES ('enam','myemail@somedomain.com')

WordPress database error: [Incorrect table name '']
INSERT INTO `` (`username`,`useremail`) VALUES ('enam','myemail@somedomain.com')

As you can see the table name is not showing in the mysql query. Is this a correct way to access a table name with $wpdb->my_table? I am using mysql. Thanks in advance.

Edit 1:
Looks like $wpdb->tblnamedo not add the table prefix anymore! As per “Professional WordPress Wrox” by Hal Stern, David Damstra and Brad Williams” (which is a great book ) it should work. The above functionality is explained at this book in the following way:

$wpdb->my_custom_table to reference the table in WordPress. 
This translates to wp_my_custom_table if wp_ is the table prefix. 
This is the proper way to determine the correct table prefix when working with tables in the WordPress database.

(Page:107)

3 Answers
3

You can check database function for database here. For the table prefix matter you should use $wpdb->prefix . 'enam' and it will return the table prefix. Just add the table name with this. So the total code would be :

$yourtablename =  $wpdb->prefix . 'enam';

so your total code could be something like:

$wpdb->insert($yourtablename , array('username' => "enam" ,
                             'useremail' => "myemail@somedomain.com"));

EDIT:
If you need more information you can see THIS article. This is very useful article for creating plugin with database.

Leave a Reply

Your email address will not be published. Required fields are marked *