Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz wiele identyfikatorów z tabeli

Podczas interpolacji

"select * from info WHERE `id` IN ('$ids')"

dzięki swoim identyfikatorom otrzymujesz:

"select * from info WHERE `id` IN ('1,2,3,4,5')"

...który traktuje twój zestaw identyfikatorów jako pojedynczy ciąg zamiast zestawu liczb całkowitych.

Pozbądź się pojedynczych cudzysłowów w IN klauzula, jak ta:

"select * from info WHERE `id` IN ($ids)"

Nie zapominaj też, że musisz sprawdzić ataki wstrzykujące SQL . Twój kod jest obecnie bardzo niebezpieczny i zagrożony poważną utratą lub dostępem do danych. Zastanów się, co może się stać, jeśli ktoś wywoła Twoją stronę internetową z następującym adresem URL, a Twój kod umożliwi mu wykonanie wielu instrukcji w jednym zapytaniu:

http://www.example.com/myfile.php?theurl=1);delete from info;-- 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uruchom localhost w systemie Mac OS X Yosemite

  2. Wydrukować dane hierarchiczne w postaci nadrzędnej potomnej z nieuporządkowanej listy php?

  3. Jak używać instrukcji LOAD DATA INFILE, gdy plik znajduje się w innej lokalizacji?

  4. Używanie MySQL z Django — odmowa dostępu dla użytkownika '@'localhost

  5. Entity Framework wstawianie danych początkowych podczas odbudowy