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

Eu tenho que usar mysql_real_escape_string se eu ligar parâmetros?


Não, você não precisa escapar do valor (ou seja, não, você não precisa chamar mysqli_real_escape_string ) , quando você estiver usando instruções preparadas :o mecanismo de banco de dados fará isso sozinho.

(Na verdade, se você estivesse chamando mysql_real_escape_string e usando parâmetros vinculados, suas strings seriam escapadas duas vezes - o que não seria ótimo:você acabaria com caracteres de escape em todos os lugares ...)


Como nota lateral:seus valores são passados ​​como inteiros (como indicado pelo 'ii' ) , então você não teria que chamar mysql_real_escape_string , mesmo se você não estiver usando instruções preparadas :como o próprio nome indica, esta função é usada para escapar... strings.

Para números inteiros, geralmente uso apenas intval para garantir que os dados que eu injeto em minhas consultas SQL sejam realmente inteiros.

(Mas, como você está usando consultas preparadas, mais uma vez, você não precisa fazer esse tipo de escape)