Avatar billede brianmilan Juniormester
20. februar 2011 - 16:10 Der er 9 kommentarer og
1 løsning

Fejlmeddelelse: Undefined variable og mysql_num_rows() expects parameter 1 to be resource, null given in...

Hej.

Jeg har fået et problem efter jeg har installeret WampServer 2.0i, den kommer med en fejlmeddelelse der hedder:

Notice: Undefined variable: rows3 in F:\wamp\www\dvd\antal_dvd.php on line 13

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in F:\wamp\www\dvd\antal_dvd.php on line 13

Notice: Undefined variable: rows1 in F:\wamp\www\dvd\antal_dvd.php on line 15

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in F:\wamp\www\dvd\antal_dvd.php on line 15

Min kode ser sådan ud:

<table id="antaldvd" border="0" align="center"> 
  <tr>
    <td>
      <?php
        $rows = '';
        $rows1 = '';
        $rows2 = '';
        $rows3 = '';
       
        if($_SESSION['admin'] == 3){
        $rows1 = mysql_query("SELECT * FROM film WHERE original_kopi LIKE 'Original'");
        $rows3 = mysql_query("SELECT * FROM film WHERE dvd_bluray LIKE 'blu_ray.jpg' AND original_kopi LIKE 'Original'");
        } else {
        $rows = mysql_query("SELECT * FROM film WHERE dvd_bluray LIKE 'blu_ray.jpg'");
        $rows2 = mysql_query("SELECT * FROM film WHERE dvd_bluray LIKE 'dvd.jpg'");
        }
//Linie 13//        $antal_blu_ray_org = mysql_num_rows($rows3);
        $antal_dvd = mysql_num_rows($rows2);
//Linie 15//        $antal_dvd_org = mysql_num_rows($rows1);
        $antal_blu_ray = mysql_num_rows($rows);
        $ialt_org = $antal_dvd_org - $antal_blu_ray_org;
        $ialt = $antal_dvd - $antal_blu_ray;
        $totalt = $antal_dvd + $antal_blu_ray;
        if($_SESSION['admin'] == 3){echo "<td>Der er <a href='/dvd/alle_blu_ray_film.php'>$antal_blu_ray_org</a> Blu-Ray film og <a href='/dvd/alle_dvd_film.php'>$ialt_org</a> DVD film i databasen</td>";} else {
        echo "<td align=\"Center\">Der er <a href='/dvd/alle_blu_ray_film.php'>$antal_blu_ray</a> Blu-Ray film og <a href='/dvd/alle_dvd_film.php'>$antal_dvd</a> DVD film.<br>I alt $totalt film i databasen.</td>";}
      ?>
    </td>
  </tr>
</table>


Ved I evt. hvad det kan være? Jeg har stirret mig helt blind på det... ;-)

Hilsen Brian.
Avatar billede caweren Nybegynder
20. februar 2011 - 16:27 #1
istedet for at skrive
$rows1 = mysql_query("SELECT * FROM film WHERE original_kopi LIKE 'Original'");

så prøv at fjerne [k]LIKE[/] og erstat den med et = tegn, så den kommer til at se sådan her ud:

$rows1 = mysql_query("SELECT * FROM film WHERE original_kopi='Original'");
Avatar billede webweaver Praktikant
20. februar 2011 - 17:04 #2
Vil tro at det er fordi at den prøver at tælle noget på et SQL statement, som ikke altid eksisterer.

Det er kun hvis $_SESSION['admin'] == 3 at der findes de 2 variabler med et SQL statement i. Men ligemeget hvad udfører du en mysql_num_row(); ....

Ryk dem ind i if sætningen, så de kun udføres når det er nødvendigt og se om det ikke skulle hjælpe på noget.
Avatar billede johan.o Nybegynder
21. februar 2011 - 12:58 #3
Hej brianmilan

Har tilladt mig at rette en del i din kode. Prøv at se om du kan bruge det her til noget....

<table id="antaldvd" border="0" align="center">
  <tr>
      <?php
        $rows1 = '';
        $rows2 = '';
     
        if($_SESSION['admin'] == 3){
          echo "<td>";
          $rows1 = mysql_query("SELECT * FROM film WHERE dvd_bluray='dvd.jpg' AND original_kopi='Original'");
          $rows2 = mysql_query("SELECT * FROM film WHERE dvd_bluray='blu_ray.jpg' AND original_kopi='Original'");
        } else {
          echo "<td style='text-align: center;'>";
          $rows1 = mysql_query("SELECT * FROM film WHERE dvd_bluray='dvd.jpg'");
          $rows2 = mysql_query("SELECT * FROM film WHERE dvd_bluray='blu_ray.jpg'");
        }
        $antal_dvd = mysql_num_rows($rows1);
        $antal_blu_ray = mysql_num_rows($rows2);
        $totalt = $antal_dvd + $antal_blu_ray;
          echo "Der er <a href='/dvd/alle_blu_ray_film.php'>$antal_blu_ray</a> Blu-Ray film og <a href='/dvd/alle_dvd_film.php'>$antal_dvd</a> DVD film i databasen";
          if($_SESSION['admin']!=3){ echo "<br>I alt $total film i databasen."; }
      ?>
    </td>
  </tr>
</table>

....kan se du har temmelig mange åbne spørgsmål her på eksperten. Mon ikke nogen af dem kan lukkes?

Mvh. Johan
Avatar billede webweaver Praktikant
21. februar 2011 - 17:58 #4
Det bør de helt klart!

Ærgerligt at jeg ikke så det, før jeg skrev en måske hjælpende kommentar! 4700 point ude, er jo helt uhyrligt!! Der skal da helt klart lukkes alle inaktive tråde, så brugere får de point, som de har fortjent og så videre.

Ellers kan det nemt blive svært for dig at få hjælp her på eksperten igen fremover.
Avatar billede brianmilan Juniormester
23. februar 2011 - 22:43 #5
Hej Johan.o og Webweaver, det er meget flovt at jeg ikke har fået lukket og givet Eksperterne deres point, jeg er ved at skrive til dem der har hjulpet mig men som ikke har lagt det som et svar om de vil gøre det... Jeg beklager at jeg ikke har haft gjort det noget før.
Avatar billede webweaver Praktikant
23. februar 2011 - 22:55 #6
Så længe du i det mindste er opmærksom på det og er villig til at forbedre det, så går det nok. :) Det er ikke alle folk som mener, at De skal bruge tid på at uddele deres udestående point.

Har du ellers fundet en løsning mht. til problemet her i tråden?
Avatar billede brianmilan Juniormester
24. februar 2011 - 11:16 #7
Hej.
Ja jeg har fået det til at virke nu :-) Jeg indsatte det script som Johan.o lavede.
Avatar billede webweaver Praktikant
25. februar 2011 - 13:53 #8
Super :)

Johan.o smider nok et svar inden længe så ...

God weekend :-)
Avatar billede brianmilan Juniormester
28. august 2014 - 20:36 #9
Hej Webweaver, vil du skrive svar, så skal jeg nok give dig point?
Avatar billede webweaver Praktikant
30. august 2014 - 21:55 #10
Svar
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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