Хотелось бы уточнить один момент - когда в SQL - запросах стоит использовать конструкции типа:
$sql = "SELECT name FROM users WHERE name = :name";
$st= $conn->prepare($sql);
$st->bindValue( ":name", $login, PDO::PARAM_STR );
$st->execute();
вместо простой:
$sql = "SELECT name FROM users WHERE name = $name";
$st = $conn->query( $sql );
?