Ich habe die folgende Fehlermeldung erhalten: "Schwerwiegender Fehler: Aufruf einer Elementfunktion session_type() auf einem Nicht-Objekt". Angeblich erstelle ich kein Objekt in der Variablen "$ tabsessiontype2". Ich sehe nicht den Grund, warum das Objekt nicht erstellt wird. Danke für deine Hilfe.PHP-Objekt wird nicht erstellt
Hier ist meine TeacherController.php
if(isset($_POST['search']) && $_POST['sessiontype_name']){
$tabsessiontype2=Db::getInstance()->select_session_type2($_POST['sessiontype_name']);
if($tabsessiontype2->session_type()=='X'){
$view='teacher.php';
}
elseif($tabsessiontype2->session_type()=='XO'){
$view='teacherxo.php';
}
elseif($tabsessiontype2->session_type()=='note'){
$view='teachernote.php';
}
}
Dies ist die Funktion Ich nenne:
public function select_session_type2($name_session_type) {
$query = "SELECT * FROM session_types WHERE session_types.name_session_type='$name_session_type'";
$result = $this->_db->query($query);
$tableau = array();
if ($result->rowcount()!=0) {
while ($row = $result->fetch()) {
$tableau[] = new Sessiontype($row->code_session_type,$row->name_session_type,$row->quarter_session_type,$row->code_lesson,$row->session_type);
}
}
return $tableau;
}
Hier ist die Session Klasse:
class SessionType{
private $_code_session_type;
private $_name_session_type;
private $_quarter_session_type;
private $_code_lesson;
private $_session_type;
public function __construct($code_session_type,$name_session_type, $quarter_session_type, $code_lesson,$session_type){
$this->_code_session_type = $code_session_type;
$this->_name_session_type = $name_session_type;
$this->_quarter_session_type = $quarter_session_type;
$this->_code_lesson = $code_lesson;
$this->_session_type = $session_type;
}
public function code_session_type(){
return $this->_code_session_type;
}
public function name_session_type(){
return $this->_name_session_type;
}
public function quarter_session_type(){
return $this->_lastname;
}
public function code_lesson(){
return $this->_email_student;
}
public function session_type(){
return $this->_session_type;
}
}
'$ tabsessiontype2' ist ein Objekt der Klasse' Db' Klasse 'Db' hat bisher keine Methode aufgerufen 'session_type' ist eine Methode der Klasse' SessionType' – RiggsFolly
select_session_type2 soll das Objekt vom Typ 'SessionType' enthalten, dann wird session_type vom Objekt aufgerufen. @RiggsFolly –
Also was macht 'Db: getInstance()' tun und was gibt es zurück – RiggsFolly