Executando várias consultas usando o PDO

Estou tentando executar a seguinte consulta usando uma declaração preparada para DOP, mas quando ligo$query->fetch(); lança uma exceçãoSQLSTATE[HY000]: General Error.

Este é o código PHP (observe que a classeDatabase - ou a variável$db no código - é apenas um invólucro simples para a classePDO portanto, todas as chamadas DOP devem ser feitas usando$db->pdo->{some PDO function}();):

$db = new Database(); //Create a new object of type Database establishing a connection to the MySQL database
$query = $db->pdo->prepare("INSERT INTO `orders` (`order_type`, `item`, `amount`, `price`, `price_btc`, `status`, `timestamp`, `placed_by`, `secret`, `first_name`, `last_name`, `address_1`, `address_2`, `city`, `zip_code`, `country`, `state`, `phone_number`)
                         VALUES(:order_type, :item, :amount, :price, :price_btc, :status, :timestamp, :placed_by, :secret, :first_name, :last_name, :address_1, :address_2, :city, :zip_code, :country, :state, :phone_number);
                         SELECT * FROM `orders` WHERE `ID`=LAST_INSERT_ID();"); //Prepare the two queries to be executed

/*HERE IS SOME CODE TO BIND PLACEHOLDERS TO SOME VALUES*/

if(!$query->execute()){
    error(); //Handle the error and terminate execution
}
if($query->rowCount() != 1){
    error(); //Handle the error and terminate execution
}

$query->setFetchMode(PDO::FETCH_ASSOC);
$order = $query->fetch(); //THIS IS WHERE THE EXCEPTION IS THROWN!

Eu tentei executar a consulta manualmente através do PHPMyAdmin e funcionou bem. Também li que o PDO não suporta várias consultas na mesma instrução, mas não deveria lançar e exceção ao executar$query->execute();?

Além disso,$query->rowCount(); Retorna 1, mas quando tento buscar o resultado, gera uma exceção de erro geral.

Eu tentei muitas outras coisas, como substituir oSELECT declaração com umSELECT LAST_INSERT_ID();, Mas nada parece funcionar.

Gostaria muito de receber sua ajuda!

questionAnswers(3)

yourAnswerToTheQuestion