[php i mysql] Kilka query w jednym?

0

Witam.
mam problem co do mysql_query();
Chcialem zrobic w takiej kolejnosci 3 zapytania:

DELETE
INSERT
SELECT

na jednej tabeli.
Robilem cos mniej wiecej takiego:

...
$query="DELETE ... ;\n";
$query.="INSERT ... ;\n";
$query.="SELECT ... ;";
$odpowiedz=mysql_query($query);

I te dalsze operacje. Lecz w tedy nic nie dziala (ani del ins sel ...). Jednak gdy robie po kolei oddzielnie to wszystko dziala :/

P.S.
jak lacze w jedno $query to nie dziala ani delete ani insert tak jagby nie bylo nic wykonywane - a oddzielnie wszystko ladnie chodzi czyli mysql_query("DELETE ...") potem insert potem select :/
W phpMyAdmin mozna dac 3 na raz i dziala :/

Prosze o pomoc -> jak zrobic zeby dzialalo ? i jesli sie nie da to prosze mi to powiedziec ^^

Z gory dziekuje

0

MySQL w wersji 4 nie potrafi obsluzyc takich zapytan.
Ja poradzielm sobie z tym w ten sposob, ze napisalem swoja funkcje (mysql_multiquery($query)), która rozbija zapytanie na pojedyncze (po znaku ';') i wykonuje je po kolei.

0

tak się nie da i mam nadzieję, że nigdy nie będzie się dało, ponieważ to by bardzo uprościło ataki typu sql injection. PhpMyAdmin rozbija takie zapytania na serię osobnych i wysyła je w pętli - gdybyś był bardziej wnikliwy to bez problemu idzie namierzyć miejsce w kodzie phpmyadmina, które to robi.

0
ŁF napisał(a)

tak się nie da i mam nadzieję, że nigdy nie będzie się dało, ...

w PostgreSQL i z tego co wiem w MySQL 5 tak sie da.

0

W MySQL 5 tak się DA. A fakt, że uprości ataki SQLInjection - no cóż, może ludzie będą bardziej zwracać uwagę na poprawnośćswoich skryptów :). Osobiście od jakiegoś czasu piszę skrypty tak, że na SQLInjection są odporne.

0
Adam.Pilorz napisał(a)

W MySQL 5 tak się DA. A fakt, że uprości ataki SQLInjection - no cóż, może ludzie będą bardziej zwracać uwagę na poprawnośćswoich skryptów :). Osobiście od jakiegoś czasu piszę skrypty tak, że na SQLInjection są odporne.

Podziel sie z nami jak, bo teraz to jest dosyc wazne by zabezpieczyc sie przed SQLInjection (zamienianie ' na HTMLowy odpowienik?)

0

addslashes, stripslashes, htmlspecialchars - w większości sytuacji wystarcza :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1