isConnected = false; $this->dbHost = $serverAddress; $this->dbUser = $user; $this->dbPass = $pass; $this->dbName = $db; $this->dbCharset = $charset; $serverAddress = trim($this->dbHost); $serverAddressData = explode(':', $serverAddress); $server = $serverAddressData[0]; if (count($serverAddressData) > 1) { $this->dbPort = trim($serverAddressData[1]); } else { $this->dbPort = 0; } $this->dbHost = trim($server); $this->dbUser = trim($this->dbUser); $this->dbPass = trim($this->dbPass); $this->dbName = trim($this->dbName); $this->dbCharset = trim($this->dbCharset); } /** * {@inheritDoc} */ public function escape($sql) { // fallback, if no explicit escaping is set for a connection return str_replace("'", "\\'", $sql); } /** * {@inheritDoc} */ public function replaceParameters($sql, array $args = []) { $offset = 0; foreach ($args AS $param => $value) { if (is_int($args[$param]) || is_float($args[$param])) { $replace = intval($args[$param]); } else { $replace = "'" . $this->escape($args[$param]) . "'"; } $pos = strpos($sql, '?', $offset); if ($pos !== false) { $sql = substr_replace($sql, $replace, $pos, 1); } $offset = $pos + strlen($replace); } return $sql; } }