What are some potential security risks associated with the current PHP code for login and registration?

One potential security risk is SQL injection, where user input is not properly sanitized before being used in database queries. To mitigate this risk, you should use prepared statements or parameterized queries to prevent malicious SQL injection attacks.

// Using prepared statements to prevent SQL injection

// Login code
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
$stmt->execute(array('username' => $username, 'password' => $password));
$user = $stmt->fetch();

// Registration code
$stmt = $pdo->prepare("INSERT INTO users (username, password) VALUES (:username, :password)");
$stmt->execute(array('username' => $username, 'password' => $password));