![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki głupi problem..
Mianowicie nie działa mi następujący kod:
Wypluwa mi informację iż rekord istnieje, choć fizycznie w bazie go nie ma.. Ten post edytował Raffuss 27.11.2010, 17:50:02 -------------------- zaburzony.pl
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
To chyba bez tego count wystarczy
![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Logika Ci szwankuje. Jakie masz zapytanie? Sprawdziłeś? Takie zapytanie ZAWSZE zwróci dokładnie jeden rekord, który zawiera ilość policzonych maili. Nawet jeśli żaden nie pasuje, to zwróci jeden wiersz wyniku z liczbą 0. Tak więc masz sprawdzać nie ile wierszy ma wynik, ale czy liczba zwrócona w wyniku jest większa od zera. Aby przykład Ci zadziałał zmień sobie przykładowo na:
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Niby tak.. ale jak bym chciał sprawdzić ile razy ten rekord w danej tabeli występuje potrzebuję count
![]() Logika Ci szwankuje. Jakie masz zapytanie? Sprawdziłeś? Takie zapytanie ZAWSZE zwróci dokładnie jeden rekord, który zawiera ilość policzonych maili. Nawet jeśli żaden nie pasuje, to zwróci jeden wiersz wyniku z liczbą 0. Tak więc masz sprawdzać nie ile wierszy ma wynik, ale czy liczba zwrócona w wyniku jest większa od zera. Aby przykład Ci zadziałał zmień sobie przykładowo na:
Wyskakuje błąd.. ![]() -------------------- zaburzony.pl
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
mysql_num_rows
Cytat Retrieves the number of rows from [...] statements like SELECT Czyli robisz zapytanie wybierające wiersze z mailem X i liczysz za pomocą wspomnianej funkcji. -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Skoro sypie Ci błąd to napisz jaki. Ostatnia szklana kula zbiła mi się rok temu
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Gdyby sypnął czymś poza napisem błąd, to bym napisał.. a jako że moja szklana kula także jest w naprawie, mam u siebie w kodzie mysql_error() i mimo tego nie pokazuje dosłownie żadnego błędu..
-------------------- zaburzony.pl
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Więc po prostu odczytaj zawartość tablicy normalnie, a nie jakimś mysql_result
![]() Zapoznaj się z funkcją mysql_fetch_array() - obacz zwłaszcza komentarze, w których masz napisane, jak się dostać do wierszy. AHA. Gdybyś nie liczył na szklane kule, to byś wpadł na to, że się usuwa die() przed wywołaniem mysql_error() -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, tę funkcję też znam.. Pytałem jednak o mysql_num_rows, ponieważ chcę wiedzieć czy to nie działa przez błąd w kodzie czy przez ustawienia maszyny produkcyjnej.. Z całym szacunkiem ale po to jest ta funkcja, żeby sobie życie upraszczać w przypadkach potrzeby wyniku numerycznego..
-------------------- zaburzony.pl
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Mysql_num_rows liczy ile jest wierszy w wyniku, a jak wspomniałem jeśli zrobisz "Select count(coś tam) i dalej", to dostaniesz dokładnie jeden wiersz wyniku. Używanie jej więc w tym przypadku jest bezsensem. Gdybyś nie użył count w zapytaniu - to mysql_num_rows ma sens bo może zapytanie nie zwrócić pasujących wyników. Jeśli jednak na "SELECT count(coś)" się upierasz, to musisz ten rekord odebrać i odczytać co zwrócił. Ja zaproponowałem mysql_result z racji dostępu do wyniku od razu poprzez podanie wiersza i offsetu. Skoro jednak nie działa to obstawiam błąd skryptu, bo funkcję *_num_rows tylko najwięksi debile lub dowcipnisie by na serwerze blokowali. Sprawdź po kolei czy jest naprawdę wszystko w porządku, począwszy od połączenia z bazą, poprzez generowanie zapytania, potem to co zwraca baza. W ktorymś miejscu musi być byk. Ja obstawiałbym coś nie tak z zapytaniem. Die wywala skrypt i dlatego mysql_error wciska się do niego. Umieszczenie mysql_error gdzieś za wywołaniem die jest porównywalne do leżenia na rozebranych torach i czekanie aż przejedzie Cię pociąg
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
@thek.. dzięki za wskazówki..
Doszedłem przeszukując forum, iż count z num rows w parze nie idą. Error siedział w die, a mimo to nie wyświetlał niczego.. po prostu tutaj wkleiłem uproszczoną wersję, która podczas testowania także nie działała jak trzeba ale zarówno nie zawierała mysql_error() jak i wielu innych rzeczy. Błąd był zgoła gdzie indziej i doszedłem metodą prób i błędów. Kod działający wygląda następująco:
Ten post edytował Raffuss 29.11.2010, 00:58:15 -------------------- zaburzony.pl
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:49 |