Интересно, что эквивалентно в PHP для SQL Server экранирование строк?mysql_real_escape_string альтернатива для SQL Server
ответ
Хороший вопрос, я не знаю, но вы можете использовать PDO::quote()
с водителем PDO_DBLIB
.
EDIT: Похоже this guygot it from 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);
}
Работает ли он с PHP7? Потому что они удалили его. – YumYumYum
Наилучшей альтернативой является использование параметризованные запросы, то вы не должны избегать строк.
Если вы все же хотите, чтобы запрос был скомпонован, правильный способ избежать строкового литерала для SQL Server (T-SQL) заключается в замене каждого апострофа (') в строке двумя апострофами.
Это также обрабатывает нулевые символы, обратную косую черту и т. П. В строке? – 2012-06-06 15:03:59
@ebyrob: Да. Между прочим, косые черты в струне вообще не нуждаются в специальной обработке. – Guffa
Действительно ли это для всех наборов символов? –
Короткий ответ: использовать любой механизм, предоставляемый библиотеками соединений, он не имеет ничего общего с базой данных. Если вы используете ADO, у вас есть параметризованные запросы, если вы используете что-то другое (я ничего не знаю о PHP), то используйте то, что предлагает эта библиотека.
Роллинг, вероятно, плохая идея, потому что вы, скорее всего, получите что-то неправильно, например. правильно обрабатывать разделители комментариев.
- 1. Альтернатива mysql_real_escape_string для PHP
- 2. Безопасная альтернатива mysql_real_escape_string? (PHP)
- 3. Альтернатива * = для SQL Server 2012
- 4. Альтернатива SQL Server 2008 для SQL-DMO
- 5. ROW_NUMBER альтернатива для SQL Server 2000
- 6. Альтернатива для percentile_cont В SQL Server 2008
- 7. Альтернатива для First_Value() в SQL Server 2008
- 8. Альтернатива SQL Server для простого веб-приложения
- 9. Альтернатива приложений SQL Server для .Net
- 10. Альтернатива серверу ресурсов SQL Server
- 11. Альтернатива триггерам в SQL Server
- 12. альтернатива в операторе SQL SERVER
- 13. Альтернатива SQL Server Tuning Advisor?
- 14. PHP mysql_real_escape_string или альтернатива с PDO
- 15. Альтернатива mysql_real_escape_string без подключения к DB
- 16. Альтернатива SQL-Server для linux в терминах синтаксиса sql
- 17. SQL: to_char альтернатива для Oracle и SQL-Server
- 18. как mysql_real_escape_string SQL Query?
- 19. Альтернатива для Access + SQL Server для корпоративных проектов
- 20. Альтернативная альтернатива циклу в SQL Server
- 21. SQL Server Альтернатива повторному копированию столбца идентификации
- 22. Альтернатива регулярного выражения SQL Server 2000
- 23. ВЫБРАТЬ в SQL Server - альтернатива подзапрос
- 24. Где использовать mysql_real_escape_string для предотвращения внедрения SQL?
- 25. Достаточно ли mysql_real_escape_string для Anti-SQL-инъекций?
- 26. альтернатива к случаю в SQL Server
- 27. mysql_real_escape_string для мультибайта без подключения?
- 28. SQL Server - альтернатива использованию NOT EXISTS
- 29. Любая альтернатива типу массива в SQL Server
- 30. SQL Server: Альтернатива длинного оператора CASE
Если вы используете обертку типа PDO, вам не придется беспокоиться об этом, потому что вы можете работать с параметризованными запросами. Если можно, используйте обертку. –
Извините, у вас нет prielege для использования PDO. –