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