![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam dziwny problem.
Używam 2 baz danych gdyż, z powodu dużego obciążenia często dosteje 'kare' 10 minutowej blokady. W takim wypadku przełączam się na 2 baze. Realizuje to takim sktyptem (uproszczone):
No i jeśli select zwróci wynik to łącze się z 1 bazą, jeśli wynik jest pusty łącze się z bazą zapasową. No i ogólnie to nawet działa, ale za którymś przełączeniem (może już za 2-3) dzieje się bardzo dziwna sytuacja, bo pomimo, że baza jest zablokowana i nie działa, to ten select zwraca mi wynik tak jakby baza najzwyczajniej działała i nie jest realizowane przełączenie na tymczasową! Tak jakby wszystkie dane z bazy były już w jakimś cachu i mimo blokady bazy są pobierane. Jest to dla mnie duży problem bo dużą część czasu mój serwis nie działa z powodu błędnego sprawdzenia czy dana baza działa. Spotkał się ktoś z podobną sytuacją ![]() Pzdr -------------------- Free mp3 download.
|
|
|
![]() |
--szawel-- |
![]()
Post
#2
|
Goście ![]() |
co ci nigdy nie zwroci pustego wyniku zawsze kostaniesz komunikt o
bledzie |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie zrozumieliśmy się.
Baza nie działa (jest połączenie, ale jest zablokowana) a jednak SELECT działa i zwraca (nie puste) wyniki tak jakby dane z bazy były zapisane w jakimś cachu. POMOCY!!! -------------------- Free mp3 download.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Nie zrozumieliśmy się. Baza nie działa (jest połączenie, ale jest zablokowana) a jednak SELECT działa i zwraca (nie puste) wyniki tak jakby dane z bazy były zapisane w jakimś cachu. POMOCY!!! Skąd wiesz, że jest zablokowana ? Wykonaj sobie inne zapytanie, a się przekonasz. -------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Bo jak włączam Phpmyadmina to widzę wyraźnie brak tabel i info na czerwono ze przekroczyłem limit czasu zapytań na godzine.
-------------------- Free mp3 download.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Bo jak włączam Phpmyadmina to widzę wyraźnie brak tabel i info na czerwono ze przekroczyłem limit czasu zapytań na godzine. To wykonaj inne zapytanie i sprawdź co Tobie zwróci. Patrzyłeś co zwraca var_dump ? -------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jak dla mnie to jest bez sensu. Proponuje zajrzec do manuala i sprawdzic co zwraca mysql_fetch_array() a nastepnie sprawdzic co robi is_null().... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Var_dump zwraca: NULL baza 2, bo w tej chwili 1 jest zablokowana no i spoko, ale przy następnym sprawdzeniu, gdy baza 1 się odblokuje a potem znowu zostanie zablokowana, to var_dump zwraca konkretny wiersz z tabeli a przecież baza jest nieaktywna.
Inaczej - jest coś takiego jak cache bazy (gdzieś są zapamiętane wyniki poprzedniego zapytania) i przy następnym przejściu nawet mimo, że baza jest zablokowana skrypt pobiera dane ![]() ![]() Może jest inny sposób na sprawdzenie czy baza działa (bez selecta) ? Zauważyłem kolejną dziwną prawidłowość. Zapytanie, którym pobieram dane z bazy i sprawdzam czy baza funkcjonuje poprawnie (poprzez zwrócenie niezerowego wyniku) wygląda tak jak napisałem wyżej czyli: $sqltest="SELECT * FROM `mp3` LIMIT 1"; No i kiedy następuje sytuacja, że baza nie działa select ten zwraca pusty wynik i jest realizowane przełączenie na zapasówkę. Wygląda na to, że właśnie w tym momencie zaczyna się coś dziwnego dziać bo już przy następnym sprawdzeniu (w trakcie korzystania z bazy zapasowej) to zapytanie jakby wariuje i już nie zwraca poprawnego wyniku (pojawia się błąd zapytania select) , ale najśmieszniejsze jest to, że wystarczy zmienić cokolwiek w tym zapytaniu czyli ustawić np inny limit: $sqltest="SELECT * FROM `mp3` LIMIT 2"; i wszystko wraca do normy, tak jakby zapytanie które raz było wykorzystane jest już spalone i nie działa poprawnie. Bardzo dziwna sprawa, ale nie wierzę, że nie ma na to logicznego wytłumaczenia. Może jak realizuje połączenie z baza zapasową, a potem chcę znowu sprawdzić czy 1 baza działa (wiadomo inny dostęp) to wtedy 'coś' nie chce mnie poprawnie połączyć ponownie z 1 baza i jezt ZONK ![]() -------------------- Free mp3 download.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
A nie lepiej to zrobić na sposób wytłumiania błędów przy połączeniu z bazą?
-------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możesz podać jakieś szczegóły
![]() (połączenie z bazą jest jako takie lecz jest ona 'wewnętrznie' zablokowana) -------------------- Free mp3 download.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
no zwykłe tłumienie błędów:
o to Ci chodziło? Może ja Ciebie źle zrozumiałem... @EDIT ewentualnie druga propozycja:
Ten post edytował cojack 13.06.2008, 05:24:47 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mysqli działa mi tylko pod PHP5.
Za każdym razem, niezależnie od tego czy jest połączenie z bazą pojawia się napis: baza 1 baza 2 Czyli coś to nie działa za bardzo ... Kto mi wytłumaczy w końcu jakim cudem ten kod:
Przy zablokowanej bazie1 zawraca mi: Array ( [0] => Say say say mega miX energy [tytul] => Say say say mega miX energy ) baza 1 No jakim cudem. Czy nikt na forum.php.pl nie wie ![]() ![]() -------------------- Free mp3 download.
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
dodaj do if'a
przed
i na bank echo baza1 nie zadziała jak baza jeden jest zawieszona ![]() -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tutaj problem jest gdzie indziej...
Nawet jak wytnę z w/w kodu fragment połączenia z baza:
i zostanie tylko:
to i tak echo zwraca: baza 1, tak jakby połączenie było już nawiązane! Może to coś z sesją, ale chyba to sprawdzałem już. W takim razie jak zmodyfikować ten kod, żeby w odpowiednim miejscu rozłączał się z bazą i łączył z tą bazą co trzeba a nie tą która już jest wybrana ![]() -------------------- Free mp3 download.
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
To może dodaj sobie wcześniej jeżeli używasz w każdym miejscu taką samą nazwę połączenia:
A później nawiązuj połączenie Jabym do Twojego kodu zastosował takie coś, bo mi się to z fetch_array nie podoba:
i przy if'ie wrzucił
frytki. Ten post edytował cojack 13.06.2008, 05:25:45 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Coś mi ten Twój kod też za bardzo nie działa, pyzatym nie za bardzo mogę stosować num rows bo mi strasznie bazę obciąża :/
Ten post edytował majestiq 15.06.2008, 15:34:51 -------------------- Free mp3 download.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 06:55 |