Witam w kolejnym odcinku z cyklu krótkich wpisów. Dzisiaj chciałbym napisać o tym w jaki sposób wygenerować klauzulę IN dla zapytania SQL, korzystając najpierw z samego pehapa, a później z tandemu pehap + PDO.
To jak wygląda klauzula IN nikomu nie muszę mówić, ponieważ jest to oczywiste. Nieoczywiste jest to dlaczego php nie wspiera przekazywania tablicy jako jednego z parametrów w instrukcji przygotowywanej (Prepare Statement) (np. w PDO). Tak jak chociażby robi to Python. Oczywiście w php trzeba napisać to samemu…
Co zatem chcemy osiągnąć? Na początek spójrzmy jak ma wyglądać końcowe zapytanie.
MySQL jest silnikiem baz danych o dość sporych możliwościach, które często są ukryte w dokumentacji i praktycznie zapomniane. Często o danej funkcjonalności programiści nie mają pojęcia implementując ją na inne sposoby wykorzystując np. język programowania lub korzystając z alternatywnych i często nieoptymalnych metod.
Raz na jakiś czas człowiek spotyka się z dziwnymi funkcjami w MySQL, których wcześniej nie widział i nie miał o nich bladego pojęcia. Czasami zdarza się, że zupełnie niczego nieświadomy biedny programista zupełnie uzależnia się od takiej funkcji i nie wyobraża sobie bez niej życia (nad)używając jej wszędzie tam gdzie popadnie. 

