Avatar billede skovsen Nybegynder
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)) {
Avatar billede skovsen Nybegynder
31. juli 2005 - 01:27 #1
Avatar billede hmortensen Nybegynder
31. juli 2005 - 01:29 #2
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());
Avatar billede skovsen Nybegynder
31. juli 2005 - 01:31 #3
Prøver.
Avatar billede skovsen Nybegynder
31. juli 2005 - 01:32 #4
Så står der:
Parse error: parse error, unexpected '}' in /web/www/frac/users/phpinfo/dansk/read.php on line 40
Avatar billede hmortensen Nybegynder
31. juli 2005 - 01:34 #5
Så har du sat det forkert ind.
Du skal udskifte din egen linie 29 med den linie jeg har skrevet.
Avatar billede skovsen Nybegynder
31. juli 2005 - 01:35 #6
Avatar billede skovsen Nybegynder
31. juli 2005 - 01:37 #7
Så står der:
Parse error: parse error, unexpected T_LOGICAL_OR in /web/www/frac/users/phpinfo/dansk/read.php on line 30
Avatar billede skovsen Nybegynder
31. juli 2005 - 01:41 #8
Nu har jeg gjort som det var i  starten.
Avatar billede hmortensen Nybegynder
31. juli 2005 - 01:47 #9
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>
Avatar billede skovsen Nybegynder
31. juli 2005 - 01:53 #10
Hvis jeg indsætte den der kode så står der:
Unknown column 'replyto' in 'where clause'

Se selv nu:  http://phpinfo.frac.dk/dansk/read.php?id=0
Avatar billede hmortensen Nybegynder
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.
Avatar billede skovsen Nybegynder
31. juli 2005 - 02:01 #12
Hvis det er i min MySQL database så dur det stadig ikke.
Avatar billede hmortensen Nybegynder
31. juli 2005 - 02:02 #13
Den giver dig fejlen, at feltet 'replyto' ikke findes, så feltet må hedde noget andet i din tabel...
Avatar billede skovsen Nybegynder
31. juli 2005 - 02:04 #14
Jaa, nu dur det. :-)
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