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

¿Tengo que usar mysql_real_escape_string si vinculo parámetros?

No, no tiene que escapar del valor usted mismo (es decir, no, no necesita llamar a mysqli_real_escape_string ) , cuando utiliza sentencias preparadas:el motor de base de datos lo hará por sí mismo.

(En realidad, si estuviera llamando a mysql_real_escape_string y al usar parámetros vinculados, sus cadenas se escaparían dos veces, lo que no sería genial:terminaría con caracteres de escape en todas partes...)


Como nota al margen:sus valores se pasan como números enteros (como lo indica el 'ii' ) , por lo que no tendría que llamar a mysql_real_escape_string , incluso si no estuviera usando sentencias preparadas:como su nombre lo indica, esta función se usa para escapar... cadenas.

Para números enteros, generalmente uso intval para asegurarme de que los datos que inyecto en mis consultas SQL realmente son números enteros.

(Pero, como está utilizando consultas preparadas, una vez más, no tiene que hacer ese tipo de escape usted mismo)