Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP+MYSQL] pokaż wszystkie zapytania skryptu, jak to zrobić?
lysy2005
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 18.01.2009

Ostrzeżenie: (0%)
-----


Witam,

mam skrypt w php który po wywołaniu generuje dużo zapytam do bazy.

jestem w stanie w php jakoś wyświetlić te zapytania??
chodzi mi abym dostał pełną listę zapytań które generuje skrypt do mysql

z góry dzięki za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
Adi32
post
Post #2





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Zapisuj gdzieś, w jakiejś tablicy, może w sesjach zapytania które wykonujesz. ja zrobiłem kiedyś klasę - singleton - do relacji z bazą która pamiętała wszystkie zapytania. Nie jest to trudne.
Go to the top of the page
+Quote Post
lysy2005
post
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 18.01.2009

Ostrzeżenie: (0%)
-----


W własnym skrypcie ok, ale jeżeli mamy skrypt który ktoś pisał, i np: 200/500 tyś linijek kodu trudno wszystkie zapytania zapisywać...
Właśnie chodzi mi o jakiś automat, który by mi pokazał w danym momencie które zapytania są wykorzystywane mieczy php a mysql
Go to the top of the page
+Quote Post
Adi32
post
Post #4





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Na moją głowę, to chyba tylko logi...

http://blog.ksiazek.info/2010/10/10/gdzie-...-co-to-za-logi/

Tu masz trochę informacji.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


czy w tym skrypcie ktoś używa wszędzie mysql_query czy jest jakaś warstwa pomiędzy zapytaniami a kodem? (np. pdo). Jeśli jest używany jakiś obiekt, to w nim możesz spróbować zapisywać gdzieś sobie te dane.
Go to the top of the page
+Quote Post
lysy2005
post
Post #6





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 18.01.2009

Ostrzeżenie: (0%)
-----


mysql_query wszędzie...
Go to the top of the page
+Quote Post
Adi32
post
Post #7





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Być może istniałaby możliwość, dodania tabeli, czegoś w rodzaju widoku do bazy, który reagowałby na każde zapytanie. Ale nie jestem pewien czy to miałoby sens i dawałoby oczekiwane skutki.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


jesli wszędzie jest mysql_query to w takim razie najlepsze rozwiązanie to włączenie logowania zapytań w my.cnf
http://dev.mysql.com/doc/refman/5.1/en/query-log.html
Go to the top of the page
+Quote Post
lysy2005
post
Post #9





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 18.01.2009

Ostrzeżenie: (0%)
-----


Cytat(ActivePlayer @ 9.07.2011, 12:05:12 ) *
jesli wszędzie jest mysql_query to w takim razie najlepsze rozwiązanie to włączenie logowania zapytań w my.cnf
http://dev.mysql.com/doc/refman/5.1/en/query-log.html


no tak, ale jak jest dużo procesów na serwerze to zapiszą sie wszystkie zapytania a nie tylko wybrane..
a logi zapisują sie nawet bez daty do pliku.

Chyba ze da sie zapisać logi tylko z wybranej bazy?
Go to the top of the page
+Quote Post
muk4
post
Post #10





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Możesz otworzyć plik innym skryptem i RegExp'em wyszukiwać treść zapytania między nawiasami w mysql_query i je echować np.

orginalny plik:
  1. $zmienna = 'test';
  2. mysql_query('SELECT * FROM `123` where `id`=' . $zmienna);
  3.  
  4. mysql_query('DROP TABLE `123`);


i po modyfikacji:
  1. $zmienna = 'test';
  2. mysql_query("SELECT * FROM `123` where `id`=" . $zmienna);
  3. echo "SELECT * FROM `123` where `id`=" . $zmienna;
  4.  
  5. mysql_query("DROP TABLE `123`");
  6. echo "DROP TABLE `123`";
Go to the top of the page
+Quote Post
Adi32
post
Post #11





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


No, dobry pomysł, mnie przyszedł taki, aby przelecieć cały serwis czymś takim (napisałem skrypt do takich celów) co by szukało w każdym pliku za pomocą preg_match_all ciągu odpowiadającemu zapytaniu i dodawało po nim jakiś wpis dodający treść tego zapytania do jakiejś sesji czy klasy.

Co do skryptu to napisałem rekurencyjną aplikację do szukania i edycji ciągu po tym jak serwer zaatakował jakiś wirus i do każdego pliku pododawał jakieś wartości. Dało się je na szczęście ująć za pomocą wyrażeń regularnych.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


A nie latwiej bedzie wykonax te testy na localhoscie? Mam takie odczucie ze to rozwiazanie z pregami to troche na okredke.

A nie latwiej bedzie wykonax te testy na localhoscie? Mam takie odczucie ze to rozwiazanie z pregami to troche na okredke.
Go to the top of the page
+Quote Post
toaspzoo
post
Post #13





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


można tak:

  1.  
  2. echo $result = mysql_query("zapytanie");
  3. //lub
  4.  
  5.  
  6. $result = "zapytanie";
  7. mysql_query($result);
  8. echo $result;
  9.  


Ten post edytował toaspzoo 10.07.2011, 15:50:12
Go to the top of the page
+Quote Post
muk4
post
Post #14





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Cytat(toaspzoo @ 10.07.2011, 16:49:52 ) *
  1. echo $result = mysql_query("zapytanie");


Przecież takie coś nie zadziała... przynajmniej nie w taki sposób w jaki oczekuje autor wątku.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:01