![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 6.05.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki oto problem:
Jest zapytanie SQL SELECT generowane przez skrypt PHP. Wysyłam to zapytanie do bazy funkcją mysql_query(). Mysql_num_rows() zwraca 0 rekordów; mysql_error() żadnego błędu - zapytanie powinno zwrócić dokładnie 1 rekord, a zwraca 0. Dokładnie to samo zapytanie wygenerowane przez skrypt PHP wklejam w phpMyAdmin i phpMyAdmin jakoś pobiera 1 rekord z danymi (tak powinno być, bo dane są). I teraz pytanie: dlaczego przez mój skrypt PHP to samo zapytanie pobiera 0 rekordów, a przez phpMyAdmin 1 rekord? (przecież phpMyAdmin to też skrypt PHP). Wszystko dzieje się na tym samym serwerze. Z góry dzięki za odpowiedź. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A masz na pewno te same dane do połączenia?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
-------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 6.05.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dobrze Cię rozumiem. W moim skrypcie łączę się podając serwer, użytkownika i hasło. PhpMyAdmin był zainstalowany nie przeze mnie, nie wiem jakie są dane do połączenia. Jakie to może mieć znaczenie? Skrypt wykonuje wiele innych zapytań do bazy z powodzeniem.
|
|
|
![]()
Post
#5
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat Nie wiem czy dobrze Cię rozumiem. Chyba nie. - stosuj var_dump - wyechuj zapytanie - włącz raportowanie błędów i sam dojdziesz do tego, co jest nie tak. -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 6.05.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie. - stosuj var_dump - wyechuj zapytanie - włącz raportowanie błędów i sam dojdziesz do tego, co jest nie tak. Robiłem już to, * error reporting E_ALL (brak błędów) * wyechowane zapytanie (wklejałem je potem w phpMyAdmin i pobierało tam 1 rekord), * sprawdzałem przez var_dump($o) odpowiedź (="resource(22) of type (mysql result)"). * mysql_num_rows($o)=0. * mysql_fetch_assoc($o)=false. Co może mieć wpływ na to, że to samo zapytanie w skrypcie pobiera 0 rekordów (i żadnych błędów), a przez phpMyAdmin pobiera 1 rekord (czyli tyle ile powinien)? Ten post edytował wojckr 8.04.2010, 17:39:05 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Jakie masz zapytanie? Więcej szczegółów, bo to trochę za mało...
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 6.05.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie wygląda tak:
Tworzone jest tak:
Kod jest taki jak widać, chociaż mam wrażenie, że to nie zależy od tego jak wygląda zapytanie, ewentualnie może od tego, że wartości do zmiennych pobierane są z URLa(?). -------------------- Problem znaleziony: UNIX_TIMESTAMP(data) - tu leży problem, ta funkcja określa ilość sekund od 1970 UTC dla argumentu data, potem zmniejsza lub zwiększa tą ilość sekund, w zależności od zmiennej @@time_zone, która akurat w moim skrypcie jest ustawiana w czasie zimowym na UTC+1, a w letnim na UTC+2, natomiast w phpMyAdmin wartość @@time_zone jest inna i ogólnie tu leży problem. Ten post edytował wojckr 9.04.2010, 08:07:22 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:06 |