Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PHP/MYSQL Pobierz nazwę na podstawie innego kryterium

Po pierwsze, NIGDY nie pobieraj hasła z bazy danych, to po prostu bardzo zła praktyka.

Po drugie, chcesz zaakceptować użytkownika jako poprawnego tylko wtedy, gdy zwrócony zostanie TYLKO jeden wiersz.

wreszcie bindColumn jest tym, czego szukasz.

<?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();
    }
}
?>

To powinno działać dla Ciebie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ładowanie plików .sql z poziomu PHP

  2. php Zapytanie INNER dołączania tabel

  3. Konwersja między nielogicznie sformatowanymi datami (zmiana /slash/ na -dash- )

  4. Plik TXT czy baza danych?

  5. Błąd połączenia MySQL i SSL BŁĄD 2026 (HY000)