Приятный вопрос, я не знаю, но вы можете использовать PDO :: quote ()
с драйвером PDO_DBLIB
.
Редактировать: Похоже, этот парень получил его из StackoverFlow :
function mssql_escape($data) {
if(is_numeric($data))
return $data;
$unpacked = unpack('H*hex', $data);
return '0x' . $unpacked['hex'];
}
Другой вариант:
function mssql_escape($str)
{
if(get_magic_quotes_gpc())
{
$str= stripslashes($str);
}
return str_replace("'", "''", $str);
}
Лучшая альтернатива - использовать параметризованные запросы, то вам не нужно избежать строк.
Если вы все еще хотите поставить запрос вместе, правильный способ избежать строкового литерала для SQL Server (T-SQL) - заменить каждую апострофю (') в строку с двумя апострофами.
Краткий ответ: использовать любой механизм, которые предоставляют ваши библиотеки подключения, на самом деле не имеет ничего общего с базой данных. Если вы используете ADO, у вас есть параметризованные запросы, если вы используете что-то еще (я ничего не знаю о PHP), а затем используйте все, что предлагает библиотеки.
Скал себя, вероятно, плохая идея, потому что вам очень вероятно, что что-то не так, например, Обработка комментариев разделителей правильно.