gpt4 book ai didi

php - Uncaught Error : Cannot call abstract method (PHP Fatal error)

转载 作者:行者123 更新时间:2023-12-02 06:16:55 25 4
gpt4 key购买 nike

我正在扩展一个具有两个抽象方法的抽象类。当我尝试实例化子类时,出现以下错误,

 PHP Fatal error:  Uncaught Error: Cannot call abstract method GetAnswer::GetAnswer()

当我注释掉父级和子级中的 GetAnswer() 时,一切正常。

PHP 版本:XAMPP 中的 7.0.2,在 Wondows 8.1 上运行。

父类文件app-getAnswer-base.php如下

<?php
abstract class GetAnswer{
abstract public function GetAnswer($Username, $QuestionnaireID, $QuestionID);
abstract public function GetAnswers($Username, $QuestionnaireID);
}

子类文件app-getAnswer-db-direct.php如下

<?php
require_once 'config-db-login.php';
require_once 'app-getAnswer-base.php';

class GetAnswer_SQLSelect extends GetAnswer {

public function GetAnswer($Username, $QuestionnaireID, $QuestionID){
return null;
}

public function GetAnswers($Username, $QuestionnaireID){
$connection = new mysqli(dbLogin::$db_hostname, dbLogin::$db_username, dbLogin::$db_password, dbLogin::$db_database);

if ($connection->connect_error) die($connection->connect_error);

$query = "SELECT `QuestionID`, `Answer` FROM `answerstore`.`answers` AS a JOIN `answerstore`.`participants` AS b ON a.`ParticipantID` = b.`ParticipantID` WHERE a.`QuestionnaireID` = '$QuestionnaireID' AND b.`Username`='$Username'";

$result = $connection->query($query);
$connection->close();

return $result;
}
}

最佳答案

我认为当您尝试实例化子类时,它会从父类 (GetAnswer) 调用 GetAnswer() 方法,因为它的工作方式类似于构造函数。

尝试将方法名称更改为其他名称。

关于php - Uncaught Error : Cannot call abstract method (PHP Fatal error),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38222815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com