[php][postgres] - pg_query()

0

Witam wszystkich.

Jest następująca sprawa:
Mamy funkcję pg_query(), która wykonuje dowolną ilość zapytań SQLa, np. można zrobić coś takiego:
pg_query("SELECT * FROM tab1; DELETE * FROM tab1;");
i teraz pojawia się problem gdy nasze zapytanie jest generowane ze zmiennych $_GET lub $_POST, np w takim przypadku:
pg_query("SELECT * FROM tab1 WHERE id=".$_GET['id']);
bo pod $_GET['id'] można napisać coś takiego:
id=1;DELETE * FROM tab1;
W ten sposob latwo komus namieszac, a znajac kody zrodlowe/strukture bazy danej strony/portalu to już w ogóle moze byc kolorowo, jak ktos sie przed tym nie zabezpieczyl.
W mysql_query() nie ma tego problemu, bo ta funkcja wykonuje tylko 1 zapytanie SQL.

Macie jakieś pomysły na rozprawienie się z tym problemem?
Oczywiście można sprawdzać zawsze wszystkie zmienne $_GET i $_POST ktore moga narozrabiac, mozna tez tak pisac zeby uniknac takich sytuacji, ale może ktoś ma lepszy pomysł?

0
Tro napisał(a)

W mysql_query() nie ma tego problemu, bo ta funkcja wykonuje tylko 1 zapytanie SQL.

W mysql można kombinować z UNION

Tro napisał(a)

pg_query("SELECT * FROM tab1 WHERE id=".$_GET['id']);

Jeżeli id to liczba, to możesz sprawdzać czy id jest liczbą

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