Wordpress中的未定义对象

时间:2016-12-08 20:15:45

标签: php mysql wordpress

我不熟悉编程并遵循几本书和wordpress codex中的说明。我试图使用$ wpdb对象访问自定义数据库。这是在当地完成的。我收到以下错误。

  

注意:未定义的属性:第68行的C:\ wamp \ www \ wordpress \ wp-includes \ wp-db.php中的wpdb :: $ national_re_trends

也得到这个:

  

WordPress数据库错误:[您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行''附近使用正确的语法]   SELECT * FROM

以下是查询:

global $wpdb;                       
$stuff = $wpdb->get_results("SELECT * FROM $wpdb->national_re_trends" );
print_r($stuff);

这是我的数据库表:

Database table

我确信这是一些新手,但如果有人可以提供帮助,我将不胜感激!

2 个答案:

答案 0 :(得分:0)

如果dhe_是您的表格前缀,请在FROM后删除$wpdb

  global $wpdb;                       
  $stuff = $wpdb->get_results("SELECT * FROM dhe_national_re_trends" );
  print_r($stuff);

如果您想使用$ wpdb->前缀

global $wpdb;                       
  $stuff = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}national_re_trends" );
  print_r($stuff);

答案 1 :(得分:0)

没有"内置" WordPress表称为national_re_trends,因此$wpdb->national_re_trends将不存在。 (11个内置WP表中的Here is a list)。

相反,您必须通过您已分配给它的名称访问该表。

通常情况下,我喜欢定义一个常量,这样就可以获得内置的表格前缀(当然,如果你在创建表格时没有包含表格前缀,那么你就是这样做的。“ d想要考虑到这一点并删除下面的$ table_prefix。

global $table_prefix;
define( 'MY_TABLE_NAME', $table_prefix . 'national_re_trends' );

然后,您的查询将如下所示:

global $wpdb;
$stuff = $wpdb->get_results( 'SELECT * FROM ' . MY_TABLE_NAME );
var_dump( $stuff );