Avatar billede donandres Nybegynder
25. april 2005 - 22:12 Der er 18 kommentarer og
1 løsning

problemer med mysql_fetch_array

jeg får følgende fejlmeddelse:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/andreasbrun.dk/andreasbrun.dk/httpd.www/have/to-do/index.php on line 35

når jeg kører denne:

<html>
<title> To Do Liste</title>
<?
require ("pass.php");
?>
<?
print ("<font size=\"4\"><center><b>To Do Liste</b></font></center><br><br>");
?>
<div align="center"><br>
<table><tr><td align="center">
<form name="aftale" method="post" action="index.php?tilfoej=1"></b>
<tr><td>Aftale</td><td> <input type="text" name="aftale" value=""></td></tr>
Priv&nbsp;
<select name="priv">
<option value="1">Høj</option>
<option value="2">Lav</option>
</select>
<tr><td><input type="submit" value="tilføj"></td></tr>
</td></tr></table></div>
            <?
            if ($tilfoej == "1") {
      $dato_nu = date("d/m/Y");
      $tid = time();
      $tiden_nu = date("G:i", $tid);
mysql_select_db("todo",$conn);
$mysql_query = "INSERT INTO todo(todo, priv, dato, tid) values ('$aftale', '$priv', '$dato_nu', '$tiden_nu')";
mysql_query("$mysql_query");
                print ("<meta http-equiv=\"refresh\" content=\"0; url=$PHP_SELF\">");
                }
                else {
                mysql_select_db("todo");
                $sql ="select * from todo order by priv,tid,dato";
                $result = mysql_query($sql);
                while($post=mysql_fetch_array($result)) {
                    if ($post[priv] == "1") {
                $post[priv] = ("red");
                    }
                    if ($post[priv] == "2") {
                $post[priv] = ("blue");
                    }
                    if ($post[loest] == "1") {
                    $post[loest] = ("<strike>");
                    }
echo "<br><table align=\"center\" width=\"300\"><tr><td align=\"center\" bgcolor=\"#CECECE\"><font face=\"arial\" size=\"2\">$post[dato]&nbsp;&nbsp;$post[tid]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"$PHP_SELF?loest=1&id=$post[id]\">Løst</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"$PHP_SELF?slet=1&id=$post[id]\">Slet</a></td></tr>
<tr><td align=\"left\" width=\"300\"><font face=\"arial\" size=\"2\" color=\"$post[priv]\">$post[loest]$post[todo]</strike></td></tr></tr></table>";
            }
                }
               
              print ("<br></table>");
                ?>
                <?
                if ($loest == "1") {
                mysql_select_db("todo",$conn);
                $mysql_query = "UPDATE liste SET loest='1' where id='$id'";
                mysql_query("$mysql_query");
                print ("<meta http-equiv=\"refresh\" content=\"0; url=$PHP_SELF\">");
                }
                if ($slet == "1") {
                mysql_select_db("todo",$conn);
                $mysql_query = "DELETE FROM liste where id='$id'";
                mysql_query("$mysql_query");
                print ("<meta http-equiv=\"refresh\" content=\"0; url=$PHP_SELF\">");
                }
                ?>
                </html>

Er der nogen kloge hoveder derude der kan hjælpe med at rette fejlen?
Avatar billede arne_v Ekspert
25. april 2005 - 22:17 #1
Fejl i:
  $sql ="select * from todo order by priv,tid,dato";

Er feltnavnene rigtige ?
Avatar billede busschou Praktikant
25. april 2005 - 22:18 #2
mangler du ikke blot at sætte din connection igen
Så det her
---
mysql_select_db("todo");
$sql ="select * from todo order by priv,tid,dato";
$result = mysql_query($sql);
--
bliver
--
mysql_select_db("todo",$conn);
$sql ="select * from todo order by priv,tid,dato";
$result = mysql_query($sql);
Avatar billede donandres Nybegynder
25. april 2005 - 22:20 #3
ja det er der nogle felter der hedder... sql koden er:

CREATE TABLE todo (
  id int(11) NOT NULL auto_increment,
  todo text NOT NULL,
  priv tinytext NOT NULL,
  dato tinytext NOT NULL,
  tid tinytext NOT NULL,
  loest tinytext NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Avatar billede busschou Praktikant
25. april 2005 - 22:21 #4
prøv evt
$result = mysql_query($sql) or die(mysql_error());
Avatar billede donandres Nybegynder
25. april 2005 - 22:22 #5
busschou: jeg har lige prøvet og det gjorde hverken det ene eller andet
Avatar billede busschou Praktikant
25. april 2005 - 22:23 #6
indeholder den noget?
Hvis den endnu ikke indeholder noget så kan den jo ikke fange en masse
Prøv skrive $result ud...eller længden af den
Avatar billede donandres Nybegynder
25. april 2005 - 22:23 #7
har prøvet med "or die" nu og nu siger den:

No Database Selected
Avatar billede busschou Praktikant
25. april 2005 - 22:24 #8
er det så ikke problemet som jeg skrev først måske?
Avatar billede donandres Nybegynder
25. april 2005 - 22:24 #9
nej for det er der stadig
Avatar billede arne_v Ekspert
25. april 2005 - 22:25 #10
Jeg tvivler lidt på at databasen hedder todo
Avatar billede arne_v Ekspert
25. april 2005 - 22:25 #11
du har en tabel todo og et felt todo

men har du også en database todo ?

eller hedder den noget helt andet ?
Avatar billede donandres Nybegynder
25. april 2005 - 22:26 #12
i min phpmyadmin hedder den todo... men det er slet ikke umuligt jeg har overset noget
Avatar billede busschou Praktikant
25. april 2005 - 22:26 #13
ahh ja klart arne
Avatar billede donandres Nybegynder
25. april 2005 - 22:28 #14
jeg prøver lige at kigge. jeg er nok blevet forvirret i alle de forsk todos
Avatar billede arne_v Ekspert
25. april 2005 - 22:30 #15
hvis det er et web hotel så er databasen typisk dit brugernavn eller dit domæne
Avatar billede donandres Nybegynder
25. april 2005 - 22:32 #16
jeg er på b-one.net
men påvirker det koden?
Avatar billede arne_v Ekspert
25. april 2005 - 22:33 #17
mysql_select_db("todo",$conn);

skal bare rettes til

mysql_select_db("detdatabasenavnsombooneharoplystdig",$conn);
Avatar billede donandres Nybegynder
25. april 2005 - 22:33 #18
SÅ ER DEN DER!!

fantastisk!!!

mange tak arne_v... kom med et svar! :-)
Avatar billede arne_v Ekspert
25. april 2005 - 22:35 #19
:-)
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