Byłoby tak, chyba że w opublikowanej name umieścisz pojedyncze cudzysłowy , co pozwoliłoby wyrwać się z cytatów. Przykład, opublikuj nazwę jako:
' or 1 or '
Klauzula WHERE staje się:
WHERE id = '' or 1 or '';
Spowoduje to dopasowanie i pobranie wszystkich wierszy w tabeli z powodu or 1 część. Jak widać, wyłamuje się z cudzysłowów, aby wstrzyknąć trochę kodu SQL, a następnie wraca do cudzysłowów, aby zapytanie było prawidłowe.
Nie, ale jeśli zostało wykonane za pomocą mysqli_multi_query to tak, możesz dodać wiele zapytań na końcu.
Generalnie tak, ale przygotowane oświadczenie byłoby lepsze. Używając ucieczki, WHERE klauzula stałaby się (korzystając z mojego przykładu powyżej):
WHERE id = '\' or 1 or \'';
Nie jest to już zagrożone, ponieważ cudzysłowów nie można wydzielić i pasowałyby tylko do wierszy, jeśli name dosłownie pasuje do ' or 1 or ' co jest oczywiście mało prawdopodobne.