Witam.

Mam problem, dostaje błąd wywołania mysqli_query i nie wiem jak mam to debugować.

Mam taki kod:

$sel = "SELECT rand FROM profiles WHERE profil='$profil'";
$q2 = mysqli_query ($dbc, $sel) or trigger_error("Query: $sel\n<br />MySQL Error: " . mysqli_error ($dbc));

W elogu nie widzę nic prócz:

[sel] => SELECT rand FROM profiles WHERE profil='x'
[q2] =>

....on line 1710: mysqli_error () [<a href='function.mysqli-error '>function.mysqli-error </a>]: Couldn't fetch mysqli

No właśnie, dlaczego brak danych przy [q2]? Dlaczego error? Czy da się bardziej szczegółowo debugować mysql?
Gdy zapytanie to wydam ręcznie w bazie to wszystko działa, tj. dostaje odpowiedź.


Ale to nie koniec...
Teraz zrobi się ciekawiej smile.gif

Otóż wszystko działa gdy na stronę wejdzie się normalnie, natomiast problem jest tylko wówczas gdy strona jest wyświetlana po anulowaniu logowania. Tj. ktoś klika na link, który wymaga zalogowania, i np. nie ma konta daje Anuluj. Strona odpala się ponownie ale z błędem bazy danych. Co więcej na stronie jest wykonywanych jeszcze kilka innych zapytań na tym samym połączeniu i one działają...(!)Dla mnie szok. Już nie wiem jak mam to debugować.

Dodam może na koniec, że logowanie robię przez javescript thickbox.js (http://jquery.com/demo/thickbox/) i ona po naciśnięciu Anuluj wywołuje funkcję onclick="tb_remove()". Może ona coś psuje po powrocie na stronę? Tylko dlaczego inne zapytania działają?


Proszę o pomoc.
Włodek



Znalazłem przyczynę....smile.gif

Moduł logujący po drodze rozłączał się z bazą danych...:/. To była przyczyna.

Swoją droga dlaczego ani słowa o tym w elogu, tylko Couldn't fetch mysqli....


Pozdrawiam,
Włodek.