2016-02-18 66 views
2

我试图通过提供其名称来获取组织的标识。 我有以下代码:无法将类wpdb的对象转换为字符串

$orgid= $wpdb->get_var("SELECT organisationid FROM $wpdb->$table_name1 WHERE organisationname=' " . $organisation . "'"); 

此行返回此错误: 开捕致命错误:

Object of class wpdb could not be converted to string 

我想重复这个ID到页面上。

我已阅读食谱,但不明白。我怎样才能解决这个问题?

+0

有一个空间,在这里''删除 ' “$组织。”'。 ''“。$ organization。”''并确保它拼写正确'organisaitonname' - 可能是你的db中的'organisationname'?无论如何,这就是它应该如何拼写的。并对该变量执行var_dump。使用'trim()'也应该引入空格。 –

+0

嗨弗雷德,我已经这样做,但它并没有解决我的问题。谢谢 – Josh

+1

可以在'FROM $ wpdb - > $ table_name1'中。从我到目前为止发现的错误信息中,尝试使用大括号括起来,即:根据这里的发现,从'{$ wpdb - > $ key}'https://wordpress.org/support/topic/object- wpdb-could-be-converted-to-string-1 –

回答

5

如果你打算使用的字符串变量里面的变量,记得用花括号把它包起来:

"SELECT organisaitonid FROM {$wpdb->$table_name1} WHERE organisaitonname = '" . $organisation . "'" 
         // ^important  ^

注:只要确保的$table_name1值不对应的$wpdb的属性当然,以便它匹配。

+0

这很好。谢谢!另一个需要注意的是,你不需要$ wpdb->在{$ wpdb - > $ table_name1} – Josh

2

也尝试

$wpdb->table_name1 

代替:

$wpdb->$table_name1 

没有美元 “$”

+0

ha!为我工作 –