2012-02-19 89 views
0

我不能使用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的使用此为$值的是主要

+2

要回答这样的问题,人们必须知道“毛毛雨”是什么。 – 2012-02-19 20:01:40

+3

如果您正在使用数据库库,请使用该库的转义函数。建立你自己从来不是一个好主意。 – 2012-02-19 20:01:58

+1

@ Col.Shrapnel drizzle是一个mysql分支,非常像DB,几乎和mysql一样,但更轻。 – Pheonix 2012-02-19 20:02:16

回答

5

我怀疑你应该使用drizzle_escape_string

蒙蒙细雨,PHP的事没有自己的逃生功能

Zend似乎说(相当长的一路下来的pa GE)。

+0

我感到尴尬,我做了很多之前,使自己的一个:( – Pheonix 2012-02-19 21:01:45