Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak wyciagnac rekordy majac tablice ich ID
Forum PHP.pl > Forum > Bazy danych > MySQL
grOm
Witam mam tabele news i w niej news_id, tytul,itp
mam tez zfunkcje ktora mi zwraca tablice z news_id'esami

array(3) {
[0] => string(3) "199"
[1] => string(3) "656"
[2] => string(4) "1409"
}

no i chce wyciagnac dane z tabeli news odpowiadajace tym id
jedyne co mi przychodzi do glowy to wyciaganie ich w pętli po kolei ale wtedy mam problem z posortowaniem wynikow np po dacie

Czy jest jakas instrukcja w zapytaniu typu BETWEEN czy cos takiego gdzie mogl bym przekazac lista tych id z tablicy ?
magnus
Jest operator IN. Składnia:
  1. SELECT co¶tam FROM co¶tam WHERE co¶tam IN (1, 3, 4, 5,...)


Więc zamieniasz tablicę na string z oddzieleniem przecinkami:

  1. $in_values = join(',', $tablica);


i wrzucasz to do zapytania:
  1. $sql = 'SELECT co¶tam FROM co¶tam WHERE co¶tam IN ('.$in_values.')';


albo nawet bez dodatkowej zmiennej winksmiley.jpg
mad/
ja bym tylko uważał, czy $tablica[$i] dla każdego $i jest liczb±, tu widać bardzo duża podatno¶ć na SQL INJECTION!
maly_swd
autor napisal "tez zfunkcje ktora mi zwraca tablice z news_id'esami".
Czyli jego funkcja zwraca ID, wiec nie ma co sie bac:), ew dodac w tej funkcji aby sprawdzal czy to liczba.
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.