Les deux sont fausses en fait.
La première n'est pas entourée de guillemets (donc ce n'est pas considéré comme une chaine de caractères et ça va te créer une erreur).
La seconde insère mal les variables autour des variables php.
Voilà trois manières de procéder :
$username = "user";
$password = "pwd";
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
echo $query;
$query = "SELECT * FROM users WHERE username='".$username."' AND password='".$password."'";
echo $query;
$query = 'SELECT * FROM users WHERE username=\''.$username.'\' AND password='\'.$password.'\'';
echo $query;
/* Resultat
* SELECT * FROM users WHERE username='user' AND password='pwd'
* SELECT * FROM users WHERE username='user' AND password='pwd'
* SELECT * FROM users WHERE username='user' AND password='pwd'
*/
// Exemple d'utilisation
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$reponse = $bdd->query($query);
Pour ce que tu nommes mysql et PDO, ce sont des "fonctions" que tu utilises pour exécuter les requêtes. Elles n'influent pas sur la syntaxe de la requête SQL. Tu utilisais PDO dans ton code source d'hier (et c'est bien).