¿Me pregunto cuál es el equivalente en PHP para el escape de cadenas de SQL Server?mysql_real_escape_string alternativa para SQL Server
Respuesta
Buena pregunta, no sé pero podría usar PDO::quote()
con el controlador PDO_DBLIB
.
EDIT: Parece quethis guygot it from StackOverflow:
function mssql_escape($data) {
if(is_numeric($data))
return $data;
$unpacked = unpack('H*hex', $data);
return '0x' . $unpacked['hex'];
}
Otra opción:
function mssql_escape($str)
{
if(get_magic_quotes_gpc())
{
$str= stripslashes($str);
}
return str_replace("'", "''", $str);
}
¿Funciona con PHP7? Porque lo eliminaron. – YumYumYum
La mejor alternativa es utilizar consultas parametrizadas, entonces no lo hace tiene que escapar de las cadenas.
Si aún desea realizar la consulta usted mismo, la forma correcta de escapar un literal de cadena para SQL Server (T-SQL) es reemplazar cada apóstrofo (') en la cadena con dos apóstrofes.
¿Eso también maneja caracteres nulos, barras diagonales inversas y similares en la cadena? –
@ebyrob: Sí. Las barras diagonales inversas en una cuerda no necesitan ningún tratamiento especial, por cierto. – Guffa
¿Es esto válido para todos los juegos de caracteres? –
La respuesta corta es: utilice cualquier mecanismo que proporcionen sus bibliotecas de conexión, realmente no tiene nada que ver con la base de datos. Si está utilizando ADO, tiene consultas parametrizadas, si está utilizando otra cosa (no sé nada de PHP) y luego usa lo que ofrece la biblioteca.
Rodar por su cuenta es probablemente una mala idea, porque es muy probable que tenga algún error, p. manejando los delimitadores de comentarios correctamente.
- 1. T-SQL para cada alternativa?
- 2. ¿Es mysql_real_escape_string suficiente para Anti SQL Injection? En
- 3. ¿Dónde usar mysql_real_escape_string para evitar la inyección SQL?
- 4. Alternativa a SQL Server Management Studio "Ver dependencias"
- 5. ¿SQL Server Compact Edition es una alternativa sensata a SQLite?
- 6. alternativa al asesor de ajuste de SQL Server?
- 7. ¿Hay PHP mysql_real_escape_string para postgresql?
- 8. decodificación mysql_real_escape_string() para dar salida HTML
- 9. Java equivalente para mysql_real_escape_string() de PHP
- 10. mysql_real_escape_string con Zend
- 11. reverse mysql_real_escape_string
- 12. mysql_real_escape_string y '
- 13. ¿Hay un SQL Server Profiler para SQL Server Express?
- 14. mysql_real_escape_string borrando cadena completa
- 15. mysql_real_escape_string atajo
- 16. ¿Qué hace mysql_real_escape_string() no agrega esolas()?
- 17. ¿Cuál es una buena alternativa a SQL Server para aplicaciones ASP.NET?
- 18. ¿equivalente StyleCop para SQL Server?
- 19. Clasificación natural para SQL Server?
- 20. puerto predeterminado para SQL Server
- 21. SQL Server para cada lazo
- 22. SQL Server 2008 a SQL Server 2005
- 23. ¿mysql_real_escape_string() TOTALMENTE protege contra la inyección de SQL?
- 24. ¿Puede mysql_real_escape_string ALONE prevenir todos los tipos de inyección sql?
- 25. mysql_real_escape_string() para las variables $ _SESSION necesarias?
- 26. mysql_real_escape_string() elimina por completo la cadena
- 27. SQL en SQL Server
- 28. Buena referencia para SQL para usar con SQL Server 2008
- 29. SQL Server
- 30. función sha256 en SQL Server
Si utiliza un contenedor como PDO, no tendrá que preocuparse porque puede trabajar con consultas parametrizadas. Si puedes, usa un contenedor. –
Lo sentimos, no tenemos el privilegio de usar PDO. –