¿Se requiere la función mysql_real_escape_string() con declaraciones preparadas?
Cuando se utilizan declaraciones preparadas como en la consulta dada:
$sql = $db->prepare('select location from location_job where location like ?');
$sql->bind_param('s', $consulta);
$sql->execute();
$sql->bind_result($location);
la función mysql_real_escape_string() no es necesaria porque las declaraciones preparadas proporcionan una manera segura de prevenir ataques de inyección SQL al escapar de cualquier carácter especial dentro de la entrada.
Una sugerencia para mejorar la consulta es utilizar el símbolo '?' marcador de posición, que le permite pasar parámetros de manera más conveniente a través del método de ejecución:
$sql->execute([$consulta]);
Sin embargo, asegúrese de desinfectar la entrada del usuario usando htmlspecialchars () antes de mostrarlo para evitar vulnerabilidades de secuencias de comandos entre sitios.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3