如何在其他PHP文件中调用函数?
问题描述:
我试图调用一个文件中的函数到另一个PHP,不过,我收到以下错误:如何在其他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.
}
预先感谢任何帮助。
答
由于您只在第3行发现致命错误,因此应该成功实例化$ db。所以,问题应该是print_model_query_form方法。
,不存在这样的内置方法称为print_model_query_form。
[编辑1] 尝试使用require_once,而不是include_once,以确保你已经包括dbfunctions.php成功。
[编辑2] 检查,如果你使用的是PHP的内置的SQLite3类(检查您的php.ini 为扩展= php_sqlite3.dll或延长= php_sqlite3.so)。
如果是这种情况,请检查您dbfunctions.php为: -
class Something
new SQLite3
function print_model_query_form
如果以上存在,那么就应该更换你的第二行, $db = new Something(..);
注意:如果您可以显示dbfunctions.php,或让我们根据猜测做出假设,那会更好。
我们怎么可能不知道'functions/dbfunctions.php'中的内容?错误消息告诉我们该方法不在该类中,并且PHP解释器不会在这些事情上犯错 – RiggsFolly
@RiggsFolly道歉。编码还是比较新的! 'dbfunctions.php'包含许多不同的功能。 'print_model_query_form'肯定存在于文件中。我可以采取哪些步骤来调试此问题? – Breo
它是一个**函数**或一个类的**方法**你称它为一个类的方法 – RiggsFolly