Seria, a menos que você inclua aspas simples no
name
postado , o que permitiria que você saísse das aspas. Exemplo, poste o nome como:' or 1 or '
A cláusula WHERE se torna:
WHERE id = '' or 1 or '';
Isso corresponderia e recuperaria todas as linhas na tabela devido ao
or 1
papel. Como você pode ver, ele quebra as aspas para injetar um pouco de SQL, depois volta para as aspas para tornar a consulta válida. Não, mas se foi executado com
mysqli_multi_query
então sim, você pode adicionar várias consultas ao final. Geralmente sim, mas uma Declaração Preparada seria melhor. Usando o escape, o
WHERE
cláusula se tornaria (usando meu exemplo acima):WHERE id = '\' or 1 or \'';
Isso não é mais vulnerável porque as aspas não podem ser quebradas e só corresponderiam a linhas se o
name
literalmente corresponde a ' or 1 or '
o que é obviamente improvável.