sql >> Base de Datos >  >> RDS >> Mysql

mysql_real_escape_string VS agrega barras

Lo que cita es probablemente del documento, pero que yo sepa, no es necesariamente cierto.

addslashes agrega barras a los caracteres que suelen ser molestos. mysql_real_escape_string escapa a lo que MySQL necesita escapar. Esto puede ser más o menos caracteres que lo que addslashes cuida.

Además, mysql_real_escape_string no necesariamente agregará barras para escapar. Si bien creo que funciona si lo hace de esa manera, las versiones recientes de MySQL escapan de las comillas juntando dos de ellas en lugar de colocar una barra inclinada antes.

Creo que siempre debe usar la función de escape de su proveedor de datos en lugar de addslashes , porque addslashes puede hacer demasiado trabajo o no lo suficiente para el propósito que lo usa. Por otro lado, mysql_real_escape_string sabe qué hacer para preparar una cadena para incrustarla en una consulta. Incluso si las especificaciones cambian sobre cómo escapar cosas y de repente ya no son las barras invertidas las que debería usar, su código seguirá funcionando porque mysql_real_escape_string será consciente de ello.