我的逃生功能够吗?

时间:2012-02-19 20:00:36

标签: php escaping

我不能使用mysql_real_escape_string因为我们没有使用mysql(而是使用drizzle),所以我创建了一个自定义转义函数。请告诉我这是否合适

function escape($value)
{
  $return = '';
  for ($i = 0; $i < strlen($value); ++$i) {
    $char = $value[$i];
    $ord = ord($char);
    if ($char !== "'" && $char !== "\"" && $char !== '\\' && $ord >= 32 && $ord <= 126)
      $return .= $char;
    else
      $return .= '\\x' . dechex($ord);
  }

  return $return;
}

我将主要在几个SQL的

中使用它来获取$ value

1 个答案:

答案 0 :(得分:5)

我怀疑你应该使用drizzle_escape_string

  

drizzle-php的东西没有自己的转义函数

Zend似乎在说it does(在页面上相当长的路上)。