如何将功能移到另一个文件

时间:2018-10-28 21:13:42

标签: php wordpress

我开发了一个查询来列出带有复选框的字段,以供用户选择要包含在查询结果中的字段。它正在模板文件中工作(基于page.php)。然后,我决定将将在其他模板中使用的逻辑移至db-functions.php文件。现在,我得到

  

致命错误:在/ home / ...中的null上调用成员函数get_results()

printf($the_db)返回正确的登录凭据,但显然是错误的,因为'affected_rows' = -1

我找不到丢失或配置错误的内容。代码如下。

require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-config.php');
require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-load.php');

//db-setup
function dbsetup($usr, $passwd, $databas, $hst){
    global $wpdb;
    $the_db = new wpdb($usr, $passwd, $databas, $hst);
}

//disp-field-list

function dbfldfrm(){
    $fieldlstress = $the_db->get_results("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns where TABLE_NAME = 'index_records'");

1 个答案:

答案 0 :(得分:2)

在询问之前,请在本网站上搜索错误字符串的解决方案。顺便说一句,您需要在本地范围内全球化变量 以便在全球范围内可用:

function dbsetup($usr, $passwd, $databas, $hst){
   global $wpdb;
   global $the_db;
   $the_db = ...
   // same as:   $GLOBALS['the_db'] = ...

其次,要从全局范围获取,请执行以下操作:

function dbfldfrm(){

    global $the_db;
    .....