Они оба делают одно и то же, только по-другому?
Есть ли разница, кроме использования prepare
между
$sth = $db->query("SELECT * FROM table");
$result = $sth->fetchAll();
и
$sth = $db->prepare("SELECT * FROM table");
$sth->execute();
$result = $sth->fetchAll();
?