/** * 转义数据 * @param mixed $data * @param boolean $isQuote 字符串值是否用引号引起来。默认不括起来。 * @return mixed */ public static function escape($data, $isQuote = false) { if (is_int($data)) { return strval($data); } elseif (is_float($data)) { return strval($data); } elseif (is_string($data)) { if ($isQuote) { # 判断值是否需要 quote 起来 if (SqlHelper::isWrapperNoQuote($data)) { return addslashes(SqlHelper::UnwrapperNoQuote($data)); } else { return "'" . addslashes($data) . "'"; } } else { return addslashes($data); } } elseif (is_bool($data)) { return strval(intval($data)); } elseif (empty($data)) { if ($isQuote) { return "''"; } else { return ''; } } elseif (is_array($data)) { foreach ($data as &$val) { $val = self::escape($val, $isQuote); } return $data; } else { return false; } }