【发布时间】:2014-07-26 13:17:12
【问题描述】:
我收到“致命错误:“在非对象上调用成员函数 get_var()”
在 search.php 中使用此代码:
global $owndb;
$testtable = $owndb -> prefix. "stuff";
$values = $owndb->get_var( "SELECT COUNT(*) FROM $testtable" );
$owndb 是在我的活动插件中使用new wpdb 创建的。 search.php 位于“page-templates”下的主题文件夹中,但未定义为模板。该文件仅由 JavaScript 文件调用以发送数据。如果我将其声明为模板(在开头添加“模板名称”),错误就消失了。我试图将 search.php 存储在不同的位置(例如插件目录),但这没有帮助。
为什么我必须将其声明为模板,我该如何规避这一点?
我看到了几个关于该错误的问题,但没有找到适合的解决方案。谢谢!
【问题讨论】:
-
什么是
$owndb。不应该是$wpdb吗? -
$owndb不是一个对象,它没有与$wpdb相同的成员,你必须向我们展示你是如何创建它的? -
$owndb 是一个外部数据库,而不是 Wordpress 使用的那个。在我的插件中使用 $owndb = new wpdb(); 建立了到这个数据库的连接。当我将 search.php 声明为模板时,这有效,因为我从数据库中获取数据
标签: javascript php mysql json wordpress