Я тяну волосы на этом.Как получить последнюю сгенерированную ошибку в MySQL из DB Adapter
В ZF1 это было легко, так как это привело бы к возникновению исключения с полными данными об ошибках sql. В ZF2 он вызывает только Exception \ RuntimeException, который передает только описание ошибки, а не число, из-за которого невозможно работать.
Вопрос: как получить полную ошибку из адаптера. Вот фрагмент кода, который я использую:
$dbAdapter = $this->_serviceManaget->get('Zend\Db\Adapter\Adapter');
try {
$result = $dbAdapter->query($sql, $binds);
} catch (\Exception $e) {
//here I need to check the error number raised by MySQL during the execution
//$e object in this case only contains
//$e->message = "Duplicate entry 'blablabla' for key 319" and $e->code = 0
}
Любые предложения?
Спасибо за ответ, но, пожалуйста, внимательно прочитайте описание и код. Это означает, что code = "0" и message = "Дублировать запись" blablabla "для ключа 319". Итак, чтобы перефразировать, мне нужно каким-то образом вывести объект MySQLi из адаптера, чтобы вытащить из него «последнюю ошибку, вызванную DB». – user2033934
@ user2033934 обновил мой ответ. Надеюсь это поможет. –
Спасибо, работает на этот раз – user2033934