Czy wyszukiwanie działa w pełni ?

Czy wyszukiwanie działa w pełni ?
AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 403
0

Pisząc frazę:

Kopiuj
$wynik = mysqli_query($link, "SELECT tytul FROM Zamowienia where tytul like %" . $_GET['tytul'] . "%");

czy będzie działać wyszukiwarka po wpisaniu liter ? Czy można tą frazę napisać w lepszy sposób, aby wyszukiwała książki po podaniu pojedyńczej litery ? Czy ustawienia cudzysłowów nie blokują wyszukiwania po literach ?
Dziękuję za porady na przykładach.

N3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

Wyplutym stringiem będzie ciąg znaków:
SELECT tytul FROM Zamowienia where tytul like %JAKIŚ_TYTUŁ%

więc nie ma tu żadnych cudzysłowów.

Pytanie czy szukanie książki po jednej literze to dobry pomysł? Nie lepiej ustawić jakieś minimum znaków np. 3?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
3

@adamon ćwiczenie dla ciebie: zastanów się co się stanie jak podam w parametrze "tytuł" np.: dupa% union select password from users # (zakładając że poprawisz sobie te cudzysłowy ofc)

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 403
0

Generalnie kiedy stosujemy " " , a kiedy ' ' ?

superdurszlak
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 2002
3

@adamon: hasła na dziś: Prepared Statement, SQL Injection :)

W innych językach to raczej standard, że w zapytaniach bez prepared statement żadnych rzeczy, które może dodać użytkownik (formularze, parametry zapytania, body itd) nie ruszasz nawet kijem. W przypadku PHP nie mam pewności, bo to PHP, ale przypuśćmy że też.

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
2

O SQL Injection OP ma wspominane co 2 wątek od pół roku co najmniej. Np. W sprawie wstawiania danych do tabeli w bazie danych.
Żeby ogarnąć prepared statemants to najpierw podstawy podstaw są potrzebne.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.