Lo de las comillas...
Las comillas simples impiden que las variables que haya en su interior sean interpretadas. El string resultante de ella es literalmente lo que has escrito dentro.
Las comillas dobles si permiten la interpretacion de las variables que haya en su interior. En este caso, tanto $variable como "$variable" darian el mismo string como resultado.
'$consulta' devuelve '$consulta'
"$consulta" devuelve "SELECT * FROM favoritos WHERE usuario ='xx' AND contrasena ='xx';"
$consulta devuelve "SELECT * FROM favoritos WHERE usuario ='xx' AND contrasena ='xx';"