Tælle antal rækker

Tags:    databaser

Hej derude bag skærmene !

Sidder og roder med lidt login/sessions, men er stødt på et problem.
Jeg skal have MySQL til at tælle hvor mange rækker den for tilbage, men jeg ved ikke hvordan.

Fold kodeboks ind/udKode 


mysql_num_rows virker ikke; Jeg får denne fejlmeddelse:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\\webserver\\login\\login-test.php on line 21
De indtastede oplysninger er ikke korrekte.

Så det jeg er ude efter, er en commando som tæller rækkerne.

Håber i forstår og at i kan hjælpe mig :-)



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Hej Jakob

Jeg har test dit SQL-statement på min egen database. Det er der ingen problemer med, men forsøger jeg derimod at hente fra en tabel eller et felt, der ikke findes i databasen opstår den fejl du beskriver.

Det tyder derfor på, at du forsøger at hente fra noget, der ikke er der. Så du bør checke om du har skrevet de rigtige navne på div. felter og tabelnavne.

En god måde at checke det på, er ved at benytte mysql_fetch_array:

Fold kodeboks ind/udKode 


Hvis den melder samme fejl, er det nok forkert navngivning der er problemet.

print_r-koden viser bare hvad array'et indeholder, så man kan se hvad MySQL returnerer, hvis fejlen ikke opstår



Indlæg senest redigeret d. 16.03.2008 07:47 af Bruger #10572
mysql_num_rows virker fint, den siger derimod at det du giver den ikke er et valid resultat, hvad burde være en rimelig stærk indicator på at din query lige oven over fejler. Jeg ville foreslå at du udskriver din query string for at se om den ser ud som du tror og den mysql error du får.

Når du er ved at udvikle din kode kan det godt betale sig at skrive:
mysql_query(QUERY) or die(mysql_error());




Jeg satte or die(mysql_error()); bag efter min query, og finder ud af at jeg havde lavet en lille fejl i mit connect script! Databasen hed login_system, og i scriptet havde jeg skrevet login-system. (Sådan er det jo at kode. Det er altid de små fejl, der tager længst tid)
Så! Nu virker det helt fint :)

Mange tak for hjælpen. Har siddet i lang tid og brokket mig over det lille stykke kode, som jeg ikke kunne få til at fungere. Så mange tak :D




t