Vous n'avez pas besoin d'appeler PDO::query() . Pour une instruction préparée, vous appelez PDO::prepare() , puis PDOStatement::execute() effectue la requête et vous pouvez récupérer le résultat en utilisant PDOStatement::fetch* .
PDO::query() n'est utilisé que pour le SQL dynamique ; il prend comme argument la chaîne Instruction de requête SQL, par exemple. SELECT déclaration, etc.