Би било, освен ако не включите единични кавички в публикуваното name , което би ви позволило да излезете от кавичките. Например, публикувайте името като:
' or 1 or '
Клаузата WHERE става:
WHERE id = '' or 1 or '';
Това ще съпостави и ще извлече всички редове в таблицата поради or 1 част. Както можете да видите, той излиза от кавичките, за да инжектира малко SQL, след което се връща обратно в кавичките, за да направи заявката валидна.
Не, но ако е изпълнено с mysqli_multi_query тогава да, можете да добавите множество заявки към края.
По принцип да, но подготвено изявление би било по-добре. Използвайки екраниране, WHERE клауза ще стане (използвайки моя пример по-горе):
WHERE id = '\' or 1 or \'';
Това вече не е уязвимо, тъй като кавичките не могат да бъдат разбити и ще съответстват на редове само ако name буквално съвпада с ' or 1 or ' което очевидно е малко вероятно.