20. januar 2014 - 16:01Der er
12 kommentarer og 1 løsning
tæller og kategorivisning.
Hej eksperter.
jeg har lavet et lille script som jeg ikke kan få til at fungere. den skal liste nogle kategorier det virker. Men den vil ikke tælle og kommer også med en fejl fra min liste script.
sådan her ser min kode ud.
<?php $sql = "select count(*) from categories, movies where categories.cat_id = movies.movie.genre"; $query = mysql_query($sql); $total = mysql_result($query, 0);
$query = "select * from categories order by categories"; $cat = mysql_query($query); if(mysql_num_rows($cat)==0) { echo 'Der er ikke nogen kategorier endnu'; } else { while($row = mysql_fetch_assoc($cat)) { echo '<li><a href="#">'.$row[''].'</a> ('.$total.')</li>'; } } ?>
jeg får disse 2 fejl meddelelser...
Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\movies\inc\genre.php on line 5
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\movies\inc\genre.php on line 9
kan i hjælpe med at få dette rettet til så jeg kan komme videre.
Du mangler, med mindre du bare har udeladt det, overhovedet at forbinde til databasen. Og når det er gjort, skal det connection objekt du får tilbage smides ind i alle mysql_query kald som andet parameter.
Altså først $conn = mysql_connect('localhost', 'username', 'password'); mysql_select_db("database", $conn);
og så mysql_query($sql, $conn);
- Men du bør også gå over til mysqli i stedet for mysql-extensionen, som er ved at blive forældet.
Den warning, at der forventes en resource, boolean given, kommer ofte for, når en database forespørgsel ikke giver noget resultat. I så fald returneres FALSE.
Så prøv at undersøge om din query 'select * from categories order by categories' giver resultat. Kan det for eksempel tænkes at du i tabellen categories ikke har et felt der hedder categories?
Jeg fik ikke set #1 før jeg fik mit indlæg skudt af. En grund til at der ikke kommer resultat kan naturligvis også være at du ikke er forbundet med databasen.
Jamen så er det nok queryen 'select count(*) from categories, movies where categories.cat_id = movies.movie.genre' der giver et tomt resultat. Har du prøvet at gå ind i PhpMyAdmin eller på anden vis gå direkte ind i mysql og køre queryen der? Og giver det et resultat?
Jeg må tilstå, at jeg er lidt i tvivl med hensyn til queryen. Er der i tabellen `movies` et felt der hedder `movie.genre` ? Jeg var ikke klar over, at det var lovligt med et punktum i et feltnavn.
Synes godt om
Slettet bruger
21. januar 2014 - 08:22#7
Det er altid en god idé lige at evaluere et resultat inden man sender det videre:
$query = mysql_query($sql);"
if (false == $query) { die('Error:' . mysql_error()); }
$total = mysql_result($query, 0);
Derudover tror jeg også problemet ligger i dit SQL kald da jeg tror den fejler på movies.movie.genre af samme årsag som Christian_Belgien påpeger
Christian_Belgien du gav mig lige det hint jeg havde brug for. og det var en _ som var forbyttet med et . så mange tak for hjælpen til jer alle sammen.
så nu må i blive enige om hvem der skal have de 15 point.
delphiuser, kom du fra det igen? Hvis du har ændret mening med hensyn til pointgivning, så accepter en andens svar eller opret selv et svar. Men det ville være godt at få spørgsmålet lukket.
Christian_Belgien undskyld mange gange ventetiden. men har været på hospitalet et stykke tid. endnu engang undskyld mange gange...
Synes godt om
Ny brugerNybegynder
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.