如何在其他PHP文件中调用函数?

时间:2016-08-22 11:45:08

标签: php file methods reference

我试图在PHP中将一个函数从一个文件调用到另一个文件,但是,我收到以下错误:

致命错误:调用未定义的方法SQLite3 :: print_model_query_form()

我有两个文件。第一个 - dbfunctions.php包含方法print_model_query_form()。 第二个文件query_models包含以下代码:

include_once("functions/dbfunctions.php");
$db = new SQLite3('D:\xampp\sim\htdocs\dis_sqlite_database\disSQL3.db');
print $db->print_model_query_form("query_models.php");

该功能看起来有点像这样:

function print_model_query_form($action, $current_values = 0){
    $db = new SQLite3('D:\xampp\sim\htdocs\dis_sqlite_database\disSQL3.db');

    if($current_values){
        // set to previous values.
    }else{
        // get POST values.
    }

    // Code to print query form.
}

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

由于您只在第3行遇到致命错误,因此应成功实例化 $ db 。所以,问题应该是 print_model_query_form 方法。

参考PHP:SQLite3 - Manual

,没有一种名为 print_model_query_form 的内置方法。

[编辑1] 尝试使用 require_once 而不是 include_once 来确保您已成功包含 dbfunctions.php

[编辑2] 检查如果您使用的是PHP内置的SQLite3类(请查看 php.ini 以获取 extension = php_sqlite3.dll extension = php_sqlite3.so < / em>的)。

如果是这种情况,请检查 dbfunctions.php : -

  • class Something
  • new SQLite3
  • function print_model_query_form

如果上述所有情况都存在,那么您应该更换第二行, $db = new Something(..);

注意:如果您可以显示 dbfunctions.php 或让我们根据猜测做出假设,那会更好。