Php 如何将函数移动到另一个文件

Php 如何将函数移动到另一个文件,php,wordpress,Php,Wordpress,我开发了一个查询,列出带有复选框的字段,供用户选择要包含在查询结果中的字段。它在模板文件中工作(基于page.php)。然后我决定将在其他模板中使用的逻辑移到db-functions.php文件中。现在,我开始 致命错误:在/home/…中对null调用成员函数get_results() printf($theu db)返回正确的登录凭据,但显然是一个错误,因为“受影响的行”=-1 我找不到丢失或配置错误的内容。代码如下 require_once($_SERVER['DOCUMENT_ROOT'

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

致命错误:在/home/…中对null调用成员函数get_results()

printf($theu db)
返回正确的登录凭据,但显然是一个错误,因为
“受影响的行”=-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'");

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

function dbsetup($usr, $passwd, $databas, $hst){
   global $wpdb;
   global $the_db;
   $the_db = ...
   // same as:   $GLOBALS['the_db'] = ...
第二,要从全局范围获得,请执行相同的操作:

function dbfldfrm(){

    global $the_db;
    .....

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

function dbsetup($usr, $passwd, $databas, $hst){
   global $wpdb;
   global $the_db;
   $the_db = ...
   // same as:   $GLOBALS['the_db'] = ...
第二,要从全局范围获得,请执行相同的操作:

function dbfldfrm(){

    global $the_db;
    .....

我确实搜索并找到了几个解决方案,但没有一个有效(我已经尝试了大多数建议)。我确实在文件中有global@the_db,但必须在代码示例中删除它以简化示例。这仍然不是working@sediger我已经更新了答案,现在应该可以了。是的,就是这样。我把你的答案记为正确答案。谢谢托杜阿!我确实搜索并找到了几个解决方案,但没有一个有效(我已经尝试了大多数建议)。我确实在文件中有global@the_db,但必须在代码示例中删除它以简化示例。这仍然不是working@sediger我已经更新了答案,现在应该可以了。是的,就是这样。我把你的答案记为正确答案。谢谢托杜阿!