Avatar billede Qhran Nybegynder
19. marts 2012 - 10:56 Der er 9 kommentarer og
1 løsning

mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\wishlist\admlist.php on line 39 & 64 & 89

Jeg har brug for lidt hjælp. Jeg er ved at lave min årsopgave i programmering og jeg laver en hjemmeside. Jeg har noget kode her og den kommer ud med ovenstående fejl men jeg kan ikke finde fejlen, alt ser ud til at være i orden og listen den finder eksisterer. Hvis i kan hjælpe må i gerne skrive det som svar så jeg kan give point bag efter.

<html>
  <head>
    <link rel="stylesheet" type="text/css" href="tema.css">
  </head>
  <body>
    <table>
      <tr>
        <td class="admlist">
       
          <table class="admlist">
            <tr>
              <td class="admlist-1">
                <h1 class="admlist-header">Wish</h1>
              </td>
              <td class="admlist-2">
                <h1 class="admlist-header">Date</h1>
              </td>
              <td class="admlist-3">
                <h1 class="admlist-header">Description</h1>
              </td>
              <td class="admlist-4">
                <h1 class="admlist-header">Delete</h1>
              </td>
            </tr>
          <?
         
            $host = "localhost";
            $username = "root";
            $password = "hda99zkk"; //Først vil vi logge ind i databasen, men inden da skal vi have defineret forskellige ting
            $database = "wishlist";
            $table = $_REQUEST["username"];
           
            MySQL_connect("$host", "$username", "$password") or die(mysql_error()); //Derefter forbinder vi til både hotellet
            MySQL_select_db("$database") or die(mysql_error());
           
            $sql = "SELECT * FROM $table WHERE hol = High";
            $result = mysql_query($sql);
           
            while ($rows = mysql_fetch_array($result)){
          ?>
         
            <tr>
              <td>
                <p><? echo $rows['wish']; ?></p>
              </td>
              <td>
                <p><? echo $rows['date']; ?></p>
              </td>
              <td>
                <p><? echo $rows['description']; ?></p>
              </td>
              <td>
                <input type="text" class="nodisplay" value="<? echo $rows["wish"]; ?>" name="wish">
                <input type="text" class="nodisplay" value="<? echo $table; ?>" name="username">
              </td>
            </tr>
         
          <?
            }
           
            $sql = "SELECT * FROM $table WHERE hol = middle";
            $result = mysql_query($sql);
           
            while ($rows = mysql_fetch_array($result)){
          ?>
         
            <tr>
              <td>
                <p><? echo $rows['wish']; ?></p>
              </td>
              <td>
                <p><? echo $rows['date']; ?></p>
              </td>
              <td>
                <p><? echo $rows['description']; ?></p>
              </td>
              <td>
                <input type="text" class="nodisplay" value="<? echo $rows["wish"]; ?>" name="wish">
                <input type="text" class="nodisplay" value="<? echo $table; ?>" name="username">
              </td>
            </tr>
           
          <?
            }
           
            $sql = "SELECT * FROM $table WHERE hol = low";
            $result = mysql_query($sql);
           
            while ($rows = mysql_fetch_array($result)){
          ?>
         
            <tr>
              <td>
                <p><? echo $rows['wish']; ?></p>
              </td>
              <td>
                <p><? echo $rows['date']; ?></p>
              </td>
              <td>
                <p><? echo $rows['description']; ?></p>
              </td>
              <td>
                <input type="text" class="nodisplay" value="<? echo $rows["wish"]; ?>" name="wish">
                <input type="text" class="nodisplay" value="<? echo $table; ?>" name="username">
              </td>
            </tr>
           
          <?
            }
          ?>
         
            <table>
              <form action="insert.php" method="post">
              <tr>
                <td>
                  <p>What you wish for</p>
                </td>
                <td>
                  <input type="text" name="wish">
                </td>
              </tr>
              <tr>
                <td>
                  <p>How high on the list do you want it</p>
                </td>
                <td>
                  <select>
                    <option name="hol" value="high">Higher</option>
                    <option name="hol" value="middle">Middle</option>
                    <option name="hol" value="low">Lower</option>
                  </select>
                </td>
              </tr>
              <tr>
                <td>
                  <p>Short description of the wish</p>
                </td>
                <td>
                  <textarea cols="50" rows="10" name="description"></textarea>
                </td>
              </tr>
                <input type="text" class="nodisplay" value="<? echo $table; ?>" name="list"></input>
              </form>
            </table>
         
          </table>
        </td>
      </tr>
    </table>
  </body>
</html>
Avatar billede michael_stim Ekspert
19. marts 2012 - 11:32 #1
Du skal huske ' om  $sql = "SELECT * FROM $table WHERE hol = 'High'";
Avatar billede Qhran Nybegynder
19. marts 2012 - 12:14 #2
It still results with the same error even with the ' sign. Other sugestions?
Avatar billede michael_stim Ekspert
19. marts 2012 - 12:24 #3
Test din $table
Avatar billede michael_stim Ekspert
19. marts 2012 - 12:25 #4
I stedet for at eksekvere din sql, så udskriv den:

echo $sql;

//$result=....
Avatar billede michael_stim Ekspert
19. marts 2012 - 12:27 #5
I og med det er en eksamensopgave, ville jeg nok også kigge på:

http://www.eksperten.dk/guide/1480
Avatar billede Qhran Nybegynder
19. marts 2012 - 12:45 #6
Angående at teste min tabel, jeg ved at den fungerer, hvor hvis tabellen ikke fungerede ville jeg ikke kunne logge ind på den bruger under testen, så det er allerede testet.

Angående sql, det prøver jeg lige.

Angående eksperten.dk/??? jeg gider ikke at bruge ekspertens guide til sql fordi den virker for forvirrence, jeg bruger php.net det fungerer meget bedre for mig
Avatar billede Qhran Nybegynder
19. marts 2012 - 12:50 #7
jeg prøvede at sige or die(mysql_error()) efter hvert $result = mysql_query($sql) og den fortalte mig at der var noget galt, fordi den kunne ikke finde en bestemt kolonde, det viser sig at det var tabellen det var galt med, undskyld før Michael_stim
Avatar billede Qhran Nybegynder
19. marts 2012 - 12:52 #8
Done, det virker, tak for jeres hjælp alle sammen, Michael_stim, gider du at skrive din kommentar som et svar, så får du point og jeg får ikke flere beskeder om at jeg ikke har lukket mit spørgsmål
Avatar billede michael_stim Ekspert
19. marts 2012 - 13:21 #9
"Angående eksperten.dk/??? jeg gider ikke at bruge ekspertens guide til sql fordi den virker for forvirrence, jeg bruger php.net det fungerer meget bedre for mig":

Op til dig, men du får ikke en meget mere letforståelig gennemgang af sikkerhed og MySQL, hvilket du åbenbart har overset. Altså sikkerheden.

Samler ikke på point, så læg selv et svar og accepter svaret, så spørgsmålet bliver lukket.
Avatar billede Qhran Nybegynder
16. april 2012 - 23:01 #10
Ok michael_stim. Jeg bliver skoset for at acceptere egne svar for point pga. de er besatte af pointsystemet, men det er hvad jeg gør.
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