From 46e2302042ae586ea673b34010eecf597d94094e Mon Sep 17 00:00:00 2001 From: David Grudl Date: Fri, 13 Dec 2019 18:24:15 +0100 Subject: [PATCH] DriverException: added params, ConnectionPanel shows them --- src/Bridges/DatabaseTracy/ConnectionPanel.php | 2 +- src/Database/DriverException.php | 8 ++++++++ src/Database/ResultSet.php | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Bridges/DatabaseTracy/ConnectionPanel.php b/src/Bridges/DatabaseTracy/ConnectionPanel.php index 118169973..e5a42cdd0 100644 --- a/src/Bridges/DatabaseTracy/ConnectionPanel.php +++ b/src/Bridges/DatabaseTracy/ConnectionPanel.php @@ -94,7 +94,7 @@ public static function renderException(?\Throwable $e): ?array } return isset($sql) ? [ 'tab' => 'SQL', - 'panel' => Helpers::dumpSql($sql), + 'panel' => Helpers::dumpSql($sql, $e->params ?? []), ] : null; } diff --git a/src/Database/DriverException.php b/src/Database/DriverException.php index da9c72770..89463f36f 100644 --- a/src/Database/DriverException.php +++ b/src/Database/DriverException.php @@ -18,6 +18,8 @@ class DriverException extends \PDOException /** @var string */ public $queryString; + /** @var array */ + public $params; /** * @return static @@ -58,4 +60,10 @@ public function getQueryString(): ?string { return $this->queryString; } + + + public function getParameters(): ?array + { + return $this->params; + } } diff --git a/src/Database/ResultSet.php b/src/Database/ResultSet.php index 262efd3a3..10d9ae31f 100644 --- a/src/Database/ResultSet.php +++ b/src/Database/ResultSet.php @@ -72,6 +72,7 @@ public function __construct(Connection $connection, string $queryString, array $ } catch (\PDOException $e) { $e = $connection->getSupplementalDriver()->convertException($e); $e->queryString = $queryString; + $e->params = $params; throw $e; } $this->time = microtime(true) - $time;