This commit is contained in:
2023-01-30 11:03:58 +08:00
parent 767288886f
commit f86d155059
+14 -7
View File
@@ -12,6 +12,7 @@ namespace Database;
use Exception; use Exception;
use Kiri\Abstracts\Component; use Kiri\Abstracts\Component;
use Kiri\Di\Context;
use PDOStatement; use PDOStatement;
/** /**
@@ -151,20 +152,26 @@ class Command extends Component
$result = (int)$pdo->lastInsertId(); $result = (int)$pdo->lastInsertId();
$prepare->closeCursor(); $prepare->closeCursor();
$result = $result == 0 ? true : $result;
} catch (\Throwable $exception) {
$result = $this->logger->addError($this->sql . '. error: ' . $exception->getMessage(), 'mysql');
} finally {
$this->db->release($pdo, true); $this->db->release($pdo, true);
return $result;
return $result == 0 ? true : $result;
} catch (\PDOException|\Throwable $throwable) {
if (str_contains($throwable->getMessage(), 'MySQL server has gone away')) {
Context::remove('master:client');
unset($pdo);
return $this->_execute();
}
$this->db->release($pdo, true);
return $this->logger->addError($this->sql . '. error: ' . $throwable->getMessage(), 'mysql');
} }
} }
/** /**
* @param \PDO $pdo * @param \PDO $pdo
* @param string $sql
* @param array $params
* @return PDOStatement * @return PDOStatement
* @throws Exception * @throws Exception
*/ */