我是WP插件领域的新手。我试图在WP 3.1中开发一个插件,当我试图将数据插入到名为“的表中时”wp_enam
“通过以下方式:
$wpdb->insert($wpdb->enam, array(\'username\' => "enam" ,
\'useremail\' => "[email protected]"));
它不起作用。
我尝试通过以下方式进行调试:
$wpdb->show_errors();
$wpdb->insert($wpdb->enam, array(\'username\' => "enam" ,
\'useremail\' => "[email protected]"));
$wpdb->print_error();
现在我从WP先生那里得到以下消息
WordPress database error: [Incorrect table name \'\']
INSERT INTO `` (`username`,`useremail`) VALUES (\'enam\',\'[email protected]\')
WordPress database error: [Incorrect table name \'\']
INSERT INTO `` (`username`,`useremail`) VALUES (\'enam\',\'[email protected]\')
正如您所看到的,mysql查询中没有显示表名。这是使用访问表名的正确方法吗
$wpdb->my_table
?
I am using mysql. 提前谢谢。
Edit 1:看起来像$wpdb->tblname
不再添加表前缀!根据Hal Stern、David Damstra和Brad Williams的“专业WordPress Wrox”(这是一本很棒的书),它应该可以工作。本书对上述功能的解释如下:
$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.
(第107页)
最合适的回答,由SO网友:user4254 整理而成
您可以检查数据库的数据库功能here. 对于表前缀问题,您应该使用$wpdb->prefix . \'enam\'
它将返回表前缀。只需将表名与此一起添加即可。所以总代码是:
$yourtablename = $wpdb->prefix . \'enam\';
因此,您的总代码可能如下所示:
$wpdb->insert($yourtablename , array(\'username\' => "enam" ,
\'useremail\' => "[email protected]"));
编辑:如果需要更多信息,可以查看
THIS 文章这篇文章对于使用数据库创建插件非常有用。