为什么我会调用未定义的方法错误?

时间:2017-09-04 11:11:07

标签: php class methods login static

我收到了这个错误:

  

致命错误:未捕获错误:调用未定义的方法   C :: \ xampp \ htdocs \ code \ logic \ login.php中的User :: selectUser():13 Stack   trace:#0 {main}抛出C:\ xampp \ htdocs \ code \ logic \ login.php on   第13行

我100%确定我检查了可能导致此错误的所有内容,但仍无法找到它。

这是我的用户类:

<?php

class User
{

    public $_gebruikersnaam;
    public $_wachtwoord;
    public $_voornaam;
    public $_tussenvoegsel;
    public $_achternaam;


//Koppeling tussen POJO-velden en databasevelden
    private static $DatabaseMapping =
        [
            //POJO-Veldnaam => Database-Veldnaam

            "gebruikersnaam" => "gebruikersnaam",
            "wachtwoord"     => "wachtwoord",
            "voornaam"       => "voornaam",
            "tussenvoegsel"  => "tussenvoegsel",
            "achternaam"     => "achternaam",
        ];

    public static function leesUitDatabase($rij)
    {
        $user = new User;
        foreach (self::$DatabaseMapping as $field => $kolom) {

            $user->$field = $rij[$kolom];

        }

        return $user;
    }


    public function save($dbh)
    {
        $dbh->insert('user', self::$DatabaseMapping, $this, true);
    }

    public static function selectUser($dbh, $gebruikersnaam, $wachtwoord)
    {
        try {

            $stmt = $dbh->query("SELECT * FROM User WHERE gebruikersnaam = :gebruikersnaam AND wachtwoord = :wachtwoord", ["gebruikersnaam" => $gebruikersnaam, "wachtwoord" => $wachtwoord]);

            return $stmt->fetchAll()[0];

        } catch (PDOException $e) {
            echo $e;
        }
    }
}

这是我的login.php-class:

<?php
require_once("../config/dbhandler.php");
require_once("../classes/user.php");

//dbhandler-object maken
$dbh = new DBHandler();

//Ophalen login-gegevens
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = $_POST['wachtwoord'];

//rij in de db ophalen waar de user zich bevindt
$rij = User::selectUser($dbh,$gebruikersnaam,$wachtwoord);

//Rij meesturen en user-object ervan maken
$user = User::leesUitDatabase($rij);


print_r($user);
?>

不知怎的,这一行会返回错误:

$rij = User::selectUser($dbh,$gebruikersnaam,$wachtwoord);

非常感谢帮助解决问题! 提前致谢! Ramon的

0 个答案:

没有答案