0

わかりました、ログインコードに問題があります..すべてうまくいきましたが、2番目のユーザーから行を取得しようとすると、最初のユーザーからの行が表示されます(ユーザー名、パスワード、電子メールに関する情報を意味します) 、...)。

public function login($username, $password){
    global $pdo;

    $query = $pdo->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
    $query->bindValue(1, $username);
    $query->bindValue(2, $password);

    $query->execute();

    $result = $query->rowCount();

    if($result === 1){
    return true;

    } else {
    return false;
     }     
  }

mysql_result を使用できませんが、どうすればこのように取得できますか?

 function user_id_from_username($username){
  return mysql_result(mysql_query("SELECT user_id FROM users WHERE username = $username"), 0, 'user_id');   
}

function login($username, $password){
  $user_id = user_id_from_username($username);

  return (mysql_result(mysql_query("SELECT COUNT(user_id) FROM users WHERE username = $username AND password = $password "),0) == 1)? $user_id : false;
}

私の英語でごめんなさい^^

4

1 に答える 1

0
public function login($username, $password){
    global $pdo;

    $query = $pdo->prepare("SELECT id FROM users WHERE username = ? AND password = ?");
    $query->execute(array($username, $password));
    return $query->fetchColumn();
}
于 2013-02-24T16:11:32.050 に答える