31. juli 2005 - 01:26
Der er
14 kommentarer
En MySQL fejl
Hej. :-) Jeg har lavet et forum og der står at der er en fejl i linie 30.. Koden: <html> <head> <title>Læs tråd</title> <link rel="stylesheet" type="text/css" href="style.css"> <meta name="Generator" content="Stone's WebWriter 3.5"> </head> <body> <? // Henter tråd include("config.php"); $query = mysql_query("SELECT overskrift, email, navn, dato, besked FROM forum_body WHERE id='$id'"); while ($row = mysql_fetch_array($query)) { echo "<b>$row[overskrift]</b><br>\n"; if($row[email] == ""){ echo "$row[navn]"; } else { echo "<a href=\"mailto:$row[email]\">$row[navn]</a>"; } echo " ($row[dato])<br><br>\n"; echo "$row[besked]\n"; echo "<hr noshade color=\"#00000\" size=\"1\">\n"; } ?> <? // Henter kommentarer $query = mysql_query("SELECT email, navn, dato, besked FROM forum_msg WHERE replyto='$id' ORDER BY id"); while ($row = mysql_fetch_array($query)) { // <--- Fejlen er her if($row[email] == ""){ echo "$row[navn]"; } else { echo "<a href=\"mailto:$row[email]\">$row[navn]</a>"; } echo " ($row[dato])<br><br>\n"; echo "$row[besked]\n"; echo "<hr noshade color=\"#00000\" size=\"1\">\n"; } ?> <b>Kommenter tråd</b><br> <script language="JavaScript"> function Check() { if (document.post.navn.value == "") { alert("Du skal skrive dit navn"); return false; } if (document.post.besked.value == "") { alert("Du skal skrive en besked"); return false; } } </script> <table width="330" cellspacing="0" cellpadding="1"> <form method="post" action="func.php?function=reply&id=<? echo "$id" ?>" name="post" onsubmit="return Check()"> <tr> <td width="165">Navn: <input type="text" name="navn" value="<? echo "$c_navn"; ?>" style="width: 119px"></td> <td width="165">Email: <input type="text" name="email" value="<? echo "$c_email"; ?>" style="width: 119px"></td> </tr><tr> <td width="330" colspan="2"> <textarea name="besked" rows="7" style="width: 324px"></textarea><br> <input type="submit" name="send" value="Send"> <input type="checkbox" name="cookie">Gem navn og email. </td></tr> </table> </form> </body> </html> Ved du hvad fejlen er ? Linien ser sådan ud: while ($row = mysql_fetch_array($query)) {
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Prøv at gøre sådan her. Så kan du se hvilken fejl mySQL returnere: $query = mysql_query("SELECT email, navn, dato, besked FROM forum_msg WHERE replyto='$id' ORDER BY id") or die(mysql_error());
Så står der: Parse error: parse error, unexpected '}' in /web/www/frac/users/phpinfo/dansk/read.php on line 40
Så har du sat det forkert ind. Du skal udskifte din egen linie 29 med den linie jeg har skrevet.
Så står der: Parse error: parse error, unexpected T_LOGICAL_OR in /web/www/frac/users/phpinfo/dansk/read.php on line 30
Nu har jeg gjort som det var i starten.
Nu har jeg sat det ind i din samlede kode, og tjekket at der ikke er parse errors: <html> <head> <title>Læs tråd</title> <link rel="stylesheet" type="text/css" href="style.css"> <meta name="Generator" content="Stone's WebWriter 3.5"> </head> <body> <? // Henter tråd include("config.php"); $query = mysql_query("SELECT overskrift, email, navn, dato, besked FROM forum_body WHERE id='$id'"); while ($row = mysql_fetch_array($query)) { echo "<b>$row[overskrift]</b><br>\n"; if($row[email] == ""){ echo "$row[navn]"; } else { echo "<a href=\"mailto:$row[email]\">$row[navn]</a>"; } echo " ($row[dato])<br><br>\n"; echo "$row[besked]\n"; echo "<hr noshade color=\"#00000\" size=\"1\">\n"; } ?> <? // Henter kommentarer $query = mysql_query("SELECT email, navn, dato, besked FROM forum_msg WHERE replyto='$id' ORDER BY id") or die(mysql_error()); while ($row = mysql_fetch_array($query)) { // <--- Fejlen er her if($row[email] == ""){ echo "$row[navn]"; } else { echo "<a href=\"mailto:$row[email]\">$row[navn]</a>"; } echo " ($row[dato])<br><br>\n"; echo "$row[besked]\n"; echo "<hr noshade color=\"#00000\" size=\"1\">\n"; } ?> <b>Kommenter tråd</b><br> <script language="JavaScript"> function Check() { if (document.post.navn.value == "") { alert("Du skal skrive dit navn"); return false; } if (document.post.besked.value == "") { alert("Du skal skrive en besked"); return false; } } </script> <table width="330" cellspacing="0" cellpadding="1"> <form method="post" action="func.php?function=reply&id=<? echo "$id" ?>" name="post" onsubmit="return Check()"> <tr> <td width="165">Navn: <input type="text" name="navn" value="<? echo "$c_navn"; ?>" style="width: 119px"></td> <td width="165">Email: <input type="text" name="email" value="<? echo "$c_email"; ?>" style="width: 119px"></td> </tr><tr> <td width="330" colspan="2"> <textarea name="besked" rows="7" style="width: 324px"></textarea><br> <input type="submit" name="send" value="Send"> <input type="checkbox" name="cookie">Gem navn og email. </td></tr> </table> </form> </body> </html>
31. juli 2005 - 01:54
#11
Så er det fordi du ikke har et felt i din tabel der hedder replyto, så tjek din tabel for stavefejl.
31. juli 2005 - 02:01
#12
Hvis det er i min MySQL database så dur det stadig ikke.
31. juli 2005 - 02:02
#13
Den giver dig fejlen, at feltet 'replyto' ikke findes, så feltet må hedde noget andet i din tabel...
31. juli 2005 - 02:04
#14
Jaa, nu dur det. :-)
Computerworld tilbyder specialiserede kurser i database-management