Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql_real_escape_string VS adiciona barras


O que você cita provavelmente é do documento, mas até onde eu sei não é necessariamente verdade.

addslashes adiciona barras a caracteres que são comumente perturbadores. mysql_real_escape_string escapa o que quer que o MySQL precise ser escapado. Isso pode ter mais ou menos caracteres do que addslashes cuida.

Além disso, mysql_real_escape_string não necessariamente adicionará barras para escapar. Embora eu ache que funciona se você fizer dessa maneira, as versões recentes do MySQL escapam das citações colocando duas delas juntas em vez de colocar uma barra antes.

Acredito que você sempre deve usar a função de escape do seu provedor de dados em vez de addslashes , porque addslashes pode fazer muito ou pouco trabalho para o propósito que você o usa. Por outro lado, mysql_real_escape_string sabe o que fazer para preparar uma string para incorporá-la em uma consulta. Mesmo que as especificações mudem sobre como escapar de coisas e de repente não são mais as barras invertidas que você deve usar, seu código ainda funcionará porque mysql_real_escape_string estará ciente disso.