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

Por que essa injeção SQL é bem-sucedida mesmo que a instrução SQL produza um erro de sintaxe?


As consultas ainda são executadas porque o mysql usa ; para delimitar cada consulta e ele continuará executando as consultas mesmo quando houver um erro de sintaxe, se você permitir. Executando as consultas no SequelPro recebo uma mensagem sobre o erro de sintaxe e me pergunta se quero continuar executando todas as consultas ou parar. No entanto, executando-os diretamente na linha de comando do MySQL, as consultas continuam em execução e o MySQL apenas dá uma mensagem de erro e continua para a próxima consulta conforme o esperado (mesma coisa que acontece com o código PHP).