Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dziwne problemy z polaczeniem
G4rcU
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 2
Dołączył: 26.11.2008

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


temat byl pewnie wałkowany setki razy i zapoznałem się juz z jego rozwiązaniami, ale w moim przypadku to nie działa, gdyz i problem nieco inny

otóz, mam taki sobie błąd:
Kod
Warning: mysql_query(): 5 is not a valid MySQL-Link resource


i nie byłoby w tym nic nadzwyczajnego gdyby nie fakt, ze cała strona normalnie funkcjonuje (w kazdym innym miejscu kodu nie ma problemu z dostepem do bazy), tylko w jednym miejscu kodu, przy wykonywaniu jednej czynności ten błąd się pojawia.

Wiem, ze najczęstszym powodem pojawiania się tego błędu, jest próba połączenia z bazą poprzez "localhost" zamiat 127.0.0.1, ale ja mam w konfigu podany właściwy adres serwera baz danych (no i inne części skryptu nie mają problemów z połączeniem)

Po usunięciu z mysql_query() linka do połączenia otrzymuję z kolei błędy:
Kod
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket

Kod
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established


tak jak pisałem, wszędzie indziej to działa, tylko w tym jednym miejscu nie (nawet jeśli zrobię kopiuj/wklej kodu z działającej części)
Go to the top of the page
+Quote Post
marins
post
Post #2





Grupa: Zarejestrowani
Postów: 47
Pomógł: 4
Dołączył: 12.07.2003

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


Wg mnie - w którymś miejscu skrypu nadpisujesz zmienną, w której przechowujesz połączenie mysql_connect.
Go to the top of the page
+Quote Post
Uriziel01
post
Post #3





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

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


Zrób var_dump z zmiennej w której trzymasz uchwyt do połączenia w linii poprzedzającej te problematyczne zapytanie. Pokaż co tam się kryje.
Go to the top of the page
+Quote Post
G4rcU
post
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 2
Dołączył: 26.11.2008

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


Cytat
Wg mnie - w którymś miejscu skrypu nadpisujesz zmienną, w której przechowujesz połączenie mysql_connect.

przejrzałem dokładnie (tak mi się wydaje) cały skrypt i nie znalazłem miejsca w którym wartość zmiennej połączenia mogłaby być nadpisana ;/


Cytat(Uriziel01 @ 26.02.2012, 18:53:17 ) *
Zrób var_dump z zmiennej w której trzymasz uchwyt do połączenia w linii poprzedzającej te problematyczne zapytanie. Pokaż co tam się kryje.

var_dump pokazuje:
Kod
resource(5) of type (Unknown)


Ten post edytował G4rcU 27.02.2012, 23:54:37
Go to the top of the page
+Quote Post
Uriziel01
post
Post #5





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

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


Jeżeli umiesz posługiwać się xdebugiem (lub tez jakimś innym debuggerem) to załóż sobie 'obserwatora' na tą zmienna i powolutku sobie wykonuj skrypt aż znajdziesz moment w którym zmienia ci sie typ na unknown. Jeżeli nie masz xdebug'a lub nie umiesz go używać to oczywiście pisz tutaj choć google podpowie tutaj zdecydowanie więcej niż my. W taki otosposób w łatwy i przyjemny sposób rozwiążesz swój problem.
Go to the top of the page
+Quote Post
G4rcU
post
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 2
Dołączył: 26.11.2008

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


Cytat(Uriziel01 @ 28.02.2012, 07:19:34 ) *
Jeżeli umiesz posługiwać się xdebugiem (lub tez jakimś innym debuggerem) to załóż sobie 'obserwatora' na tą zmienna i powolutku sobie wykonuj skrypt aż znajdziesz moment w którym zmienia ci sie typ na unknown. Jeżeli nie masz xdebug'a lub nie umiesz go używać to oczywiście pisz tutaj choć google podpowie tutaj zdecydowanie więcej niż my. W taki otosposób w łatwy i przyjemny sposób rozwiążesz swój problem.

no niestety nigdy nie miałem do czynienia z debugowaniem - moją znajomość php określiłbym w kategorii "ciut więcej jak zielony" (IMG:style_emoticons/default/wink.gif)

co ciekawe, po zmianie mysql_connect na mysql_pconnect problem znika (no ale to chyba wynika ze specyfiki samego pconnect).
No ale nie jest to rozwiązanie problemu a jego ominięcie ;/
Go to the top of the page
+Quote Post
Uriziel01
post
Post #7





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

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


No jeżeli nie chcesz użyć debugera to jedyną droga jaką widzę jest zrobienie sobie mocnej kawy i dopisywanie kolejno var_dump'a z tego uchwytu w kolejnych miejscach w kodzie, zawsze robisz tak że dzielisz wykonywany kod na połowę, wstawiasz tam var_dump, jeżeli wartośc już jest 'popsuta' to znaczy że stało się to przed var_dump'em więc znów w połowie kodu poprzedzającego var_dump wstawiasz kolejny, jeżeli jednak wartość jest jeszcze poprawna to wstawiasz go w dalszej części kodu. I robisz tak aż znajdziesz felerna linię kodu. Poczułem się jak dobre kilka lat temu gdy sam robiłem takie cuda (IMG:style_emoticons/default/wink.gif) Jednak zapewniam Cie że nauka podstawowej obsługi debugera zajmie ci mniej niż sprawdzenie tego wyżej wymienioną metodą, a z pewnością pozostawi więcej na przyszłość. Jakiego środowiska używasz ?
Go to the top of the page
+Quote Post
G4rcU
post
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 2
Dołączył: 26.11.2008

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


nie mówiłem, że nie chcę się nauczyć używania debugera (IMG:style_emoticons/default/wink.gif)
sytuacja mnie do tego zmusiła, więc trzeba będzie w weekend zrobić sobie więcej kawy i nauczyć się podstaw debugowania

na kompie mam win7 x64, ale projekt siedzi na jakiejś bliżej niesprecyzowanej wersji linuksa (trzymam to na swoim NAS, który ma wbudowany serwer www z php i mysql)
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: 23.08.2025 - 06:44