Hallo, ich habe ein Problem!
Es geht um folgenen Quellcode:
Mein Problem liegt vermutlich in der Methode check_for_user(), genauer gesagt bei stmt->columnCount() da diese Methode komischerweise IMMER 1 zurückgibt, auch wenn der User gar nicht existiert (also eigentlich 0 zurückgegeben werden müsste!) Wisst ihr vielleicht einen Rat?! Wäre mir echt sehr hilfreich!
Gruß,
Dennito

PHP-Code:
class User {
public function register($username, $password, $email) {
if($this->check_for_user($username)) {
$pdoparams = array(
':username' => $username,
':password' => md5(sha1($password)),
':email' => $email
);
$sql = "INSERT INTO users
(username, password, email) VALUES (:username, :password, :email);";
$stmt = MyDB::getInstance()->prepare($sql);
$stmt->execute($pdoparams);
} else {
echo "Username bereits vorhanden!";
return false;
}
}
private function check_for_user($username) {
$pdoparams = array( ':username' => $username );
$sql = "SELECT id FROM users WHERE username = :username LIMIT 1;";
$stmt = MyDB::getInstance()->prepare($sql);
$stmt->execute($pdoparams);
if ($stmt->columnCount()==1) {
echo "true";
return true; // User vorhanden!
}else {
echo "false";
return false; // User noch nicht vorhanden!
}
}
}
Gruß,
Dennito
Kommentar