FFLNVB
FFLNVB

Reputation: 147

Mysql_fetch_data prints unexpectedly

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

Answers (1)

echo_Me
echo_Me

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

Related Questions