PHP-在另一个类中调用函数
我有一个名为connection.php的类,它包含与连接到我的数据库相关的所有内容,它还具有以下功能:PHP-在另一个类中调用函数,php,function,pdo,connect,Php,Function,Pdo,Connect,我有一个名为connection.php的类,它包含与连接到我的数据库相关的所有内容,它还具有以下功能: function connect() { $pdo = new PDO('mysql:host='.$host.';dbname='.$db.'', $user, $pw); } 当我尝试在下例中的另一个类中调用此函数时: require('connection.php'); try { $connect(); } catch (PDOException $e) {
function connect() {
$pdo = new PDO('mysql:host='.$host.';dbname='.$db.'', $user, $pw);
}
当我尝试在下例中的另一个类中调用此函数时:
require('connection.php');
try {
$connect();
} catch (PDOException $e) {
die("Error, could not connect.");
}
这给了我以下错误:
致命错误:函数名必须是第4行/home/[redact]/public\u html/[redact]/authenticate.php中的字符串
我做错了什么?试试看
require('connection.php');
try {
connect();
} catch (PDOException $e) {
die("Error, could not connect.");
}
如果你写$connect();它将检查未初始化的变量$connect,这就是为什么会出现错误
如果你喜欢这个
require('connection.php');
$a = 'connect';
try {
$a();
} catch (PDOException $e) {
die("Error, could not connect.");
}
这会奏效的
因为将放置一个connect来代替变量$a,然后它将搜索函数connect();
我希望这能帮助你更好地理解只是为了补充阿曼在这里说的话。。。您说您有一个
类
,其中包含函数connect()
,但我看不到类定义或任何指示您正在实例化一个新类
所以让我们假设它真的在课堂上
class database {
function connect() {
$pdo = new PDO('mysql:host='.$host.';dbname='.$db.'', $user, $pw);
}
}
您现在需要创建该类的实例才能使用它。因此,我们做以下工作
$db = new database();
try {
$db->connect();
} catch (PDOException $e) {
die("Error, could not connect.");
}
您有两个结束括号
}
^Edited*谢谢,但仍然存在相同的问题您可能想解释一下您在这里做了什么。提示:谈谈你用$
做了什么好吧,函数会执行,但返回时会出现致命错误,并且不会连接到我的数据库。。。现在有什么问题?你必须使用异常处理。我正在使用异常处理。我的问题是现在它没有连接到数据库。现在“catch(PDOException$e)”被捕获