我试图在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.
}
提前感谢您的帮助。
答案 0 :(得分:1)
由于您只在第3行遇到致命错误,因此应成功实例化 $ db 。所以,问题应该是 print_model_query_form 方法。
,没有一种名为 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 或让我们根据猜测做出假设,那会更好。