/** * Escape data * * @param mixed $data * @param string $type - int|like * @return string */ public function escape($data, $type = null) { if (is_array($data)) { foreach ($data as $key => $value) { if ($type === 'int') { $data[$key] = (int) $value; } elseif ($type === 'like') { $value = str_replace('\\', '\\\\', $value); $data[$key] = str_replace(array('%', '_'), array('\\%', '\\_'), $this->adapter->escape($value)); } else { $data[$key] = $this->adapter->escape($value); } } return $data; } switch ($type) { case 'int': return (int) $data; case 'like': $data = str_replace('\\', '\\\\', $data); return str_replace(array('%', '_'), array('\\%', '\\_'), $this->adapter->escape($data)); default: return $this->adapter->escape($data); } }