Przygotowane oświadczenia niczego nie umykają. Kiedy przygotowujesz instrukcję, twoje zapytanie jest prekompilowane, więc potrzebuje tylko symboli zastępczych ( ?
) do wypełnienia. Ponieważ nie ma możliwości zmiany kodu SQL prekompilowanego zapytania, nie jest potrzebne żadne wyjście.
Aby to naprawić, zapisz %
i _
ręcznie.
Dodano:
Trochę zdrowego rozsądku:w twoim przypadku, gdy użytkownik wprowadzi %
w polu wyszukiwania, Twoje $search
zmienna zawiera ciąg %%%
. Skąd miałby wiedzieć MySQL, który %
powinien uciec, a które powinien zostawić w spokoju?