Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 07.07.2020, 10:32
Iago2 Iago2 ist offline
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.09.2005
Beiträge: 79
Iago2 befindet sich auf einem aufstrebenden Ast
Standard PHP / OOP Vererbung, Konstructor, error!!

Hi folks,

Ich hab hier eine UserList-Klasse, die von User erbt. Ich übergebe ein Datenbank-Objekt an den Konstruktor, kann das Objekt in UserList aber nicht aufrufen und prepare andwenden: (ERROR: Call to a member function prepare() on null in)

Wo liegt der Fehler? Thank you very very much!!

PHP-Code:
class User  {

    private 
$userId;
    private 
$userName;
    private 
$language;
    private 
$db;
    private 
$date;
    

  public function 
__construct($db) {

    
$this->db $db;
    
$this->userId $_SESSION['id'];
    

 }

... 
uswusf...

}

class 
UserList extends User {


    public function 
__construct($db) {

    
parent::__construct($db);


 }

 public function 
fetchUsersData() {
        
//returns username + language ---> actions.php for AJAX request
        //the current user is NOT included int the query

        
$stmt $this->db->prepare("SELECT `id`,`username`,`lang` 
                                    FROM user
                                    WHERE id != ?"
);

         
$stmt->execute([$this->userId]);
       while(
$row $stmt->fetch(PDO::FETCH_ASSOC)) {

            
$usersList[] = $row;
       }

       return 
$usersList;
 }

PHP-Code:
$db = new Database();

$userList = new UserList($db);
                  
print_r($userList->fetchUsersData()); 

Geändert von Iago2 (07.07.2020 um 10:35 Uhr)
Mit Zitat antworten
Sponsored Links