Reputation: 147
I want to do a password verification with MySQL but it does not work. Instead of comparing in the if-clause it prints the MySQL_fetch_object
public function __construct($userId, $userPassword) {
$this->userId = $userId;
$this->userPassword = $userPassword;
$connect = mysql_connect('localhost', 'php', 'geheim') or exit ();
$users = mysql_select_db("chat", $connect) or exit ();
$request = "SELECT userPassword FROM user WHERE userId=$userId";
$result = mysql_query($result);
if(mysql_fetch_object($result)->userPassword === $userPassword){
echo "Right Password";
}
but it only prints this although i never said it should echo it:
verificateUser Object ( [userId:verificateUser:private] => 1 [userPassword:verificateUser:private] => 12345 )
What am I doing wrong? Thx for the help!
Upvotes: 0
Views: 63
Reputation: 37243
try this
public function __construct($userId, $userPassword) {
$this->userId = $userId;
$this->userPassword = $userPassword;
$connect = mysql_connect('localhost', 'php', 'geheim') or exit ();
$users = mysql_select_db("chat", $connect) or exit ();
$request = "SELECT userPassword FROM user WHERE userId=$userId";
$result = mysql_query($result);
$userpass =mysql_fetch_assoc($result);
if($userpass['userPassword'] == $userPassword){
echo "Right Password";
}
}
EDIT: if you interested about this method below
public function __construct($userId, $userPassword) {
$this->userId = $userId;
$this->userPassword = $userPassword;
$connect = mysql_connect('localhost', 'php', 'geheim') or exit ();
$users = mysql_select_db("chat", $connect) or exit ();
$request = "SELECT userPassword FROM user WHERE userId=$userId";
$result = mysql_query($result);
$userpass =mysql_fetch_assoc($result);
if($userpass['userPassword'] == $userPassword){
return true:
}
return false;
}
Then you can check like that
if(__construct($userId, $userPassword) == true) { you welcome}
if(__construct($userId, $userPassword) == false) {do your pass again}
Upvotes: 1