Sie müssen PDO::query() nicht aufrufen . Für eine vorbereitete Anweisung rufen Sie PDO::prepare() auf , dann PDOStatement::execute() führt die Abfrage durch und Sie können das Ergebnis mit PDOStatement::fetch* abrufen .
PDO::query() wird nur für dynamisches SQL verwendet; es nimmt als Argument den String SQL-Abfrageanweisung zB. SELECT Anweisung usw.