コード例 #1
0
 /**
  * 转义数据
  * @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;
     }
 }