Avatar billede stigma Nybegynder
09. februar 2012 - 00:17 Der er 1 kommentar og
1 løsning

num_rows = 1, selvom der er 0 rækker?

Hej eksperter!

Har et mindre problem med denne forespørgsel:
SELECT
    mod_support_ticket.* ,
    mod_support_status.status_name,
    mod_support_categories.category_name
FROM mod_support_ticket
    LEFT JOIN mod_support_status ON mod_support_status.statusID = mod_support_ticket.status
    LEFT JOIN mod_support_categories ON mod_support_categories.categoryID = mod_support_ticket.category
   
WHERE mod_support_ticket.userID = '".$userID."'
ORDER BY created DESC

Hvis jeg udføre overstående inde i phpMyAdmin, så returnere den 0 rækker, hvilket også er korrekt, men hvis jeg derimod gør det det gennem PHP via mysqli objektet, returnere num_rows() funktionen, 1. - Troede måske at der var noget galt med forespørgslen pga. mine joins, så prøvede med:
       
        SELECT * FROM mod_support_ticket"

..dog med samme resultat.

Nogen der kunne have en ide, hvor problemet kunne være?
Avatar billede gnoname Praktikant
09. februar 2012 - 01:37 #1
num_rows() returnerer så vidt jeg ved antallet af rækker i et resultat (og altså ikke antallet af rækker i en evt. tabel). Da der ikke er nogen rækker der opfylder selectet er der således kun ét resultat; nemlig NULL. num_rows angiver derfor korrekt at der er en række i resultatet (NULL).
Avatar billede stigma Nybegynder
09. februar 2012 - 14:21 #2
Det er ikke helt korret, af hvad jeg ved - Hvis min forespørgsel skulle returnere 0 rækker, skal num_rows også returnere 0 eller NULL, hvilket IKKE var tilfældet ved mig.

Men jeg prøvede lige at teste den i dag, og nu får jeg ingen fejl, så tror måske det kunne være noget med MySQL serveren.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester