我收到了这个错误:
致命错误:未捕获错误:调用未定义的方法 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的