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)