![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam, mam taki dziwny problem.. ale zaczne od poczatku by wyjasnic dokladnie o co chodzi.
wiec tak: uzytkownik ma formularz w ktorym moze dodawac dane. dwie opcje w tym formularzu moga byc dodawane wieloktronie (np. uzytkownik wybiera z listy rozwijanej/wpisuje w oknie wina 'czerowne', klika dodaj-pojawia mu sie to na dole w tabeli, wpisuje 'biale' klika 'dodaj' i w tabeli na dole ma juz dwa rodzaje wina). gdy juz doda tyle wartosci ile chce moze je wrzucic do bazy. dane z okien przy ktorych mozna dodawac wieloktronie, sa trzymane w tablicach sesyjnych. przedstawie fragment kodu:
ladnie mi to dziala i bez problemow, mam u siebie postgresa 8. jednak skrypt ten musze umiescic na innym serwerze. i tam, w momencie gdy tablice $_SESSION['bb'] i $_SESSION['cc'] zawieraja wiecej niz jedna dana pojawia mi sie blad: Cytat Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "," jak wyswietle sobie zapytanie to otrzymam: Cytat insert into tabela (wartosc_stala, kolumna_jeden, kolumna_dwa) values(1,'1','123'),(1,'2','454564'),(1,'4','444'); nie mam pojecia czemu na tamtym serwerze tak sie dzieje.. u mnie sie nic nie krzaczy.. czy moze to byc wina starszej wersji postgresa na tamtym serwerze? oraz czy ktos z Was zna jakies alternatywne rozwiazanie by chodzilo to rowniez tam? z gory dzieki za sugestie! pzdr! |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie pamiętam od której wersji można używać składni, którą zastosowałeś. Na pewno wcześniej jej w PostgreSQL nie było.
Rozwiązanie może być np. takie :
Ewentualnie podziel to na osobne inserty i zapakuj w jedna transakcję. -------------------- --------------------------------------------------------------------------------
weblog.axent.pl -------------------------------------------------------------------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
spoko, dalam juz rade.
mam to w ten sposob:
i jest si:) tak czy siak, dzieki za sugestie!:) pzdr! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 1 Dołączył: 5.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
nie czepiam się, tylko dzielę się swoim doświadczeniem: ![]() 1)
za każdym razem jak się wchodzi do warunku pętli for, wykonuje się metoda count! Nie jest to optymalne. 2)
za każdą iteracją przesyłasz do bazy nowy insert. Non-stop są przesyłane dane php->baza->php w każdej iteracji. Zbuduj sobie $zapytanie gdzie będziesz mieć wszystkie inserty i tylko jeden raz wykonaj $wynik=pg_query($polacznie, $zapytanie); Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 04:05 |