Wartości powiązań PDO dla instrukcji MySQL IN
Mam problem z PDO, który naprawdę chciałbym uzyskać po tym, jak przez jakiś czas będę go nękać.
Weź ten przykład:
Wiążę tablicę identyfikatorów do instrukcji PDO do użycia w instrukcji MySQL IN.
Tablica brzmi:$ values = array (1,2,3,4,5,6,7,8);
Będzie to zmienna bezpieczna dla bazy danych$ products = implode (',' $ value);
Więc,$ produkty byłoby wtedySTRUNOWY o wartości:„1,2,3,4,5,6,7,8”
Oświadczenie wyglądałoby tak:
SELECT users.id
FROM users
JOIN products
ON products.user_id = users.id
WHERE products IN (:products)
Oczywiście,$ produkty byłby związany ze stwierdzeniem jako: produkty.
Jednak po skompilowaniu instrukcji i powiązaniu wartości wyglądałoby to tak:
SELECT users.id
FROM users
JOIN products
ON products.user_id = users.id
WHERE products IN ('1,2,3,4,5,6,7,8')
Problem polega na tym, że wykonuje wszystko wewnątrz instrukcji IN jako pojedynczy łańcuch, biorąc pod uwagę, że przygotowałem go jako wartości rozdzielone przecinkami, aby powiązać z instrukcją.
Potrzebuję:
SELECT users.id
FROM users
JOIN products
ON products.user_id = users.id
WHERE products IN (1,2,3,4,5,6,7,8)
Jedynym sposobem, w jaki mogę to zrobić, jest umieszczenie wartości w samym łańcuchu bez wiązania ich, jednak wiem, że na pewno musi być łatwiejszy sposób, aby to zrobić.