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

¿Por qué esta inyección de SQL tiene éxito a pesar de que la instrucción SQL produce un error de sintaxis?

Las consultas aún se ejecutan porque mysql usa ; para delimitar cada consulta y continuará ejecutando las consultas incluso cuando haya un error de sintaxis si lo permite. Al ejecutar las consultas en SequelPro, recibo un mensaje sobre el error de sintaxis y me pregunta si quiero continuar ejecutando todas las consultas o detenerme. Sin embargo, al ejecutarlas directamente en la línea de comandos de MySQL, las consultas continúan ejecutándose y MySQL solo da un mensaje de error y continúa con la siguiente consulta como se esperaba (lo mismo que sucede con el código PHP).