Czy coś jeszcze?
Chodzi mi o to, że z formularza w POST dostaje tablice danych $_POST['ids'], powiedzmy ids[1],ids[6], ids[14],ids[77] (dane z checkboxów - wszystkie równe "ON") Ponadto mam druga tablice $_POST['koment'] o tych samych kluczach (tzn. 1,6,14,77). Teraz Chce uzyc tych danych do zapytania do bazy danych. Potrzebuje taki fragment zapytania:
'(1,koment[1]), (6,koment[6]), (14, koment[14]),(77,koment[77])'
Nie widzę sposobu, by zrobić to wydajnie za pomocą PDO->prepare(), bowiem musiałbym napierw pętlą stworzyć szablon postaci '... (:id1,:kom1),...,(id77,:kom77) ...', a potem za pomocą znów pętli podpinać kolejne dane za pomocą bindValue. Wiem, że jest możliwość podpięcia od razu całej tablicy już w metodzie execute,ale nie potrafię tego w sytuacji jak powyżej (bez zmiany tablic z POST). Chyba najlepszym wyjściem jest skleić samemu takie zapytanie, ale tu kłania się sprawa bezpieczeństwa (SQL injection). Jak to zrobić, by było to bezpieczne? Stad moje pytanie, co robi metoda bindvalue?
Acha, jeszcze jedno, gdybym mial sama tablice ids, moglbym ciag (1,6,14,77) zrobic jedna komenda:
Kod
$ciag='('.implode(',',array_keys($_POST['ids'])).')';
Jak moznaby zrobic podobnie szybko taki ciag, jaki potrzebuje?
____________________________
Właśnie zauważyłem, że tablica ids mi nie jest potrzebna, bo tablica koment "trzyma" identyfikatory. Problem jednak wciąż pozostaje.
_____________________________
A czy jest może jakaś możliwość podejrzenia szablonu objektu zwroconego przez metode prepare klasy PDO, a potem modyfikowanego przez metody bindValue klasy PDOStetement?