Nemusíte volat PDO::query() . U připraveného příkazu zavoláte PDO::prepare() a poté PDOStatement::execute() provede dotaz a výsledek můžete získat pomocí PDOStatement::fetch* .
PDO::query() používá se pouze pro dynamické SQL; jako argument bere řetězec SQL dotaz, např. SELECT prohlášení atd.