logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[MYSQL] - Zapytanie o ranking, nieznany błąd składni

danieloxx 18 Paź 2011 19:57 1167 2
REKLAMA
  • #1 10040848
    danieloxx
    Poziom 14  
    Posty: 184
    Pomógł: 1
    Witam.
    Mam kod który na podstawie ilości wpisów danego autora, grupuje je, podlicza, dodaje dynamicznie kolumne z numerem rekordu i selekcjonuje tylko żądany rekord, czyli zapytanie o ranking użytkownika.
    Kod: text
    Zaloguj się, aby zobaczyć kod


    REKLAMA


    W PHPMyAdminie wszystko śmiga jak należy a gdy przekleję go do PHP to wyskakuje taki error:
    
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT rank, ile, CONCAT(imie,' ',nazwisko) AS uzytkownik, CONCAT(miasto,' ',woj' at line 2
    


    Problem znika gdy usunę deklarację nowej zmiennej czyli pierwsze polecenie "SET..". Tylko wtedy w kolumnie rank zwraca mi NULL, zamiast pozycji w rankingu. Problem jest wyraźnie w składni, tylko nie mogę go znaleźć.
  • REKLAMA
  • #2 10040981
    wiesniak
    Poziom 31  
    Posty: 1006
    Pomógł: 231
    Ocena: 52
    Widziałeś to? http://jimlife.wordpress.com/2008/09/09/displaying-row-number-rownum-in-mysql/
    Problem jest bardzo podobny. Inkrementacja @rownum znajduje się w pierwszym SELECT natomiast w zagnieżdżonym jest ustawienie wartości @rownum na zero.

    Zauważ też, że w Twoim kodzie przypisujesz przez SET wartość tekst, a nie liczbę. To może być przyczyną wysypu w zapytaniu.
  • #3 10041868
    danieloxx
    Poziom 14  
    Posty: 184
    Pomógł: 1
    Czyli jeśli dobrze rozumiem, powinienem zrobić coś takiego:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    niestety to zwraca mi ciągle rank 1, a jak zauważyłem jest problem z wysyłaniem większej ilosci zapytań za jednym razem, więc zmieniłem trochę składnię i zwraca mi właśnie tylko tą jedynkę :/
REKLAMA