Это зависит от того, как вы делаете обработку ошибок в целом. Использование транзакций - это хорошо, потому что, если ваш код внутри транзакции выдает исключение (которое может ИЛИ НЕ МОЖЕТ быть из-за сбоя запроса к базе данных), обычно ваш обработчик исключений вызовет откат.
Более того, если вы закрыли соединение без фиксации, например, из-за неожиданного завершения процесса, откат произойдет неявно, что, как правило, хорошо (повышает надежность, поскольку при перезапуске процесса он может повторить попытку)
Теперь, конечно, использование PHP и «старого» mysql API не способствует получению этого права, так как он не поддерживает сообщения об ошибках по исключениям.
Однако вы можете обойти это, зарегистрировав обработчик ошибок PHP, который выдает исключение при возникновении ошибки, вместо того, чтобы выполнить метод «начисления платы за бедствие» по умолчанию:
"Captain, we've hit an iceberg
"Full steam ahead, put more coal in, we'll get to new york soon...