mysqli::query, al contrario di PDO, in caso di errore non lancia nessuna eccezione. http://php.net/manual/en/mysqli.query.php
Controlla tu i risultati di $result e $result1: se uno dei due ritorna false, allora lancia la tua eccezione, e fai il rollback.