2012-02-19 2 views
0

Я не могу использовать mysql_real_escape_string, так как мы не используем mysql (но вместо этого drizzle), поэтому я создал пользовательскую функцию escape. Скажите, пожалуйста, если это хорошо или нет- моя функция выхода?

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

Чтобы ответить на такой вопрос, нужно знать, что такое чертовщина. –

+3

Если вы используете библиотеку базы данных, используйте функцию escape-функции этой библиотеки. Построение собственного никогда не будет хорошей идеей. –

+1

@ Col.Shrapnel drizzle - это ветвь mysql, так что почти БД, почти как mysql, но легче. – Pheonix

ответ

5

Я подозреваю, что вы должны использовать drizzle_escape_string

морось-PHP вещи не имеет своей функции эвакуации

Zend, кажется, говорит, что it does (довольно длинный путь вниз по па GE).

+0

Я чувствую себя смущенным, я искал столько, прежде чем сделать один из своих :( – Pheonix

Смежные вопросы