From a8aabe817ecbe59acdf486f4b814c0a5f2708617 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Mon, 4 Nov 2013 21:51:32 +0100 Subject: [PATCH] Check parameters for binary data For example when saving an image as a Blob in the DB. --- .../DataCollector/PDO/TracedStatement.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/DebugBar/DataCollector/PDO/TracedStatement.php b/src/DebugBar/DataCollector/PDO/TracedStatement.php index 3e2800a..e3058e6 100644 --- a/src/DebugBar/DataCollector/PDO/TracedStatement.php +++ b/src/DebugBar/DataCollector/PDO/TracedStatement.php @@ -51,7 +51,7 @@ class TracedStatement { $this->sql = $sql; $this->rowCount = $rowCount; - $this->parameters = $params; + $this->parameters = $this->checkParameters($params); $this->preparedId = $preparedId; $this->startTime = $startTime; $this->endTime = $endTime; @@ -59,6 +59,21 @@ class TracedStatement $this->memoryUsage = $memoryUsage; $this->exception = $e; } + + /** + * Check parameters for illegal (non UTF-8) strings, like Binary data. + * + * @param $params + * @return mixed + */ + public function checkParameters($params){ + foreach($params as &$param){ + if(!mb_check_encoding($param, 'UTF-8')){ + $param = '[BINARY DATA]'; + } + } + return $params; + } /** * Returns the SQL string used for the query