2012-12-07 54 views
0

我有一个自定义wordpress表(my_table)。我插入,更新所有的好东西。当我尝试使用在Wordpress中与自定义数据库表进行交互

$wpdb->get_results("SELECT * FROM $wpdb->my_table",ARRAY_A); 

$wpdb->get_results("SELECT * FROM my_table",ARRAY_A); 

我得到这个错误

WordPress database error: [Table 'mydatabase.my_table' doesn't exist] 
SELECT * FROM my_table 

我已尝试添加到MY_TABLE WP-db.php中和,但我仍然收到此错误。

  1. 是该表是在数据库
  2. 有他们在表

数据是配置选项的,我需要改变或其他地方,我需要补充我的表名?由于某种原因,我无法找到它。

完整的错误

WordPress database error Table 'mydatabase.mytable' doesn't exist for query SELECT * FROM mytable made by do_action, call_user_func_array, promos 
+0

WordPress是否有权限读取该表格? –

+0

@Catcall我创建了与我为WordPress设置使用的用户相同的表格。 – tiggles

+0

如果mydatabase是WordPress数据库(通过tiggles确认),那么是的,它有权限。它甚至可以创建或删除数据库中的任何表。 – barakadam

回答

1

好吧,我会在你的情况下做的,如果你仍然卡住了。创建一个新表,但这个时候,由WordPress的执行SQL命令,使用类似:

$wpdb->query('CREATE TABLE mynewtable (First_Name char(50), Last_Name char(50), ... etc.)'); 

立即检查,你可以查询。如果是这样,那么去你的数据库并把所有数据从mytable转储到这个新创建的表中。改用这个。

如果这是一个用户权限,因为创建前一个表的用户与被授予访问WordPress的用户不同,那么您将是安全的。

+0

是通过wordpress工作创建一个表。谢谢你的帮助 – tiggles

0

如果您的表my_table是,的确,在mydatabase数据库,如果mydatabase,着实WordPress的数据库,没有理由不应该工作。如果mydatabase不是WordPress数据库,或者my_table位于另一个数据库中,则无法正常工作。

相关问题