Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 2 zapytania do bazy w tej samej linijce
Forum PHP.pl > Forum > PHP
Black-Berry
Czy można wykonac do bazy MySQL 2 zapytania odzcielone średnikiem w tej samej linijce?

Wszyscy twierdza, że nie ale tu pisze ze można link
Moze to zależy od wersji blinksmiley.gif Wiecie może w jakich wersjach mozna a w jakich nie questionmark.gif

Cytat
(..)popularny w serwisach WWW MySQL umożliwiają wykonanie kilku zapytań SQL w jednej linii, oddzielonych od siebie średnikami. Dodając średnik, można więc dodać do oryginalnego zapytania dowolne zapytanie własnej konstrukcji, a przy tym, w przeciwieństwie do mechanizmu UNION SELECT, nie trzeba nawet dbać o zgodność typów danych z zapytaniami poprzedzającymi(..)
wipo
A no można ale:
zapytania oddzielone średnikiem możesz wykonać tylko zapytania nie zwracające wyniku.
Jeżeli zrobisz kilka select-ów oddzielonych po sobie przecinkami to zobaczysz tylko wynik tego ostatniego.

Co do polecenia UNION to nie robi od oddzielnego zapytania i nie trzeba do oddzielać przecinkami. To nic innego jak doklejenie wyniku jednego zapytania do drugiego
Black-Berry
Czyli jakbym teoretycznie zapomniał przefiltrować któregoś z zapytań MySQL na SQLInjection to nikt mi nie usunie bazy wszystkich tabel albo nie odczyta hasła do admina ?
wipo
Jak mozesz to lepiej unikaj wiele insertow z jednym zapytanie - wystarczy ze jeden sie nie wykona to cala reszta tez sie nie doda.

Pozatym co ty z tymi zapytaniami chcesz zrobic skoro twierdzisz ze ktos moze ci usunac jakas tabele badz podejrzec jej zawartosc?

mozesz tez pomyslec o prawach dostepu do bazy (tabelka mysql) jezeli twoje konto przewiduje taką opcję
Black-Berry
chodziło mi o zabezpieczenie przed mysql ijection. Ktoś mi się dostał do strony i całej bazy danych z powodu jednej luki. Zastanawiam sie teraz czy np zapytanie takie jak:

  1. SELECT * FROM news WHERE id=1; DELETE FROM news


moze sie wykonać.
wipo
Wykona się, ale żeby mieć pewność wykonaj sobie to zapytanie to zobaczysz efekt.
Black-Berry
wywala błąd mysqla. Nie wykonuje się
k3nsei
Ale w ogóle po co chcesz robić 2 w jednym. Przez takie manewry kod staje się mniej czytelny a co za tym idzie trudniej go edytować jak chce się dokonać zmian.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.