Trước hết, ĐỪNG BAO GIỜ lấy mật khẩu từ cơ sở dữ liệu, đó chỉ là một phương pháp cực kỳ tồi tệ.
Thứ hai, bạn chỉ muốn chấp nhận người dùng là chính xác nếu CHỈ trả về một hàng.
cuối cùng là bindColumn
là những gì bạn đang tìm kiếm.
<?php
function verify_Username_and_Pass($un, $pwd) {
$query = "SELECT `First Name`, Username
FROM table
WHERE Username = :un AND Password = :pwd";
// Don't limit the query to only one, if there is a chance that you can
// return multiple rows, either your code is incorrect, bad data in the database, etc...
$stmt = $this->conn->prepare($query);
$stmt->bindParam(':un', $un);
$stmt->bindParam(':pwd', $pwd);
$stmt->execute();
// Only assume proper information if you ONLY return 1 row.
// Something is wrong if you return more than one row...
if ($stmt->rowCount() == 1) {
// User exist
$stmt->bindColumn('First Name', $firstName);
$stmt->bindColumn('Username', $username);
// You can now refer to the firstName and username variables.
return true;
$stmt->close();
} else {
// User doesn't exist
return false;
$stmt->close();
}
}
?>
Điều đó sẽ hiệu quả với bạn.