Avatar billede kack Nybegynder
12. december 2004 - 00:26 Der er 9 kommentarer

Warning mysql_fetch_array

SÅ tror jeg at jeg er klar med mit sidste spørgsmål her på eksperten ( lige her de næste dage :D)

Jeg får denne fejl:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/kack.dk/kack.dk/httpd.www/kackcommunity2/profil/gbog.php on line 10

Og hvad er det der er galt?

Dette er min kode:

<?
$connection = mysql_connect("'''","'''","'''");
    mysql_select_db("'''", $connection);
    ?>
<?
$query = mysql_query("SELECT * FROM gbog WHERE bruger='".$_GET['bruger']."' ORDER BY id DESC");
while($row = mysql_fetch_array($query)) {
$row["COMMENT"] = str_replace("
", "<br />", $row["COMMENT"]);
$row["COMMENT"] = preg_replace( "#\[url=(.+?)\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\2</a>", $row["COMMENT"]);
$row["COMMENTt"] = preg_replace( "#\[url\](.+?)\[/url\]#is", "<a target='_blank' href='\\1'>\\1</a>", $row["COMMENT"]);
$row["COMMENT"] = preg_replace( "#\[img\](.+?)\[/img\]#is", "<img src='\\1' alt='' border='0' />", $row["COMMENT"]);
$row["COMMENT"] = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $row["COMMENT"]);
$row["COMMENT"] = preg_replace( "#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $row["COMMENT"]);
$row["COMMENT"] = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $row["COMMENT"]);
echo "<div class='kasse'><div class='text'>".$row["name"]."</a> skrev:<hr />".$row["COMMENT"] ."</div></div><br />";
}
?>
<form action="?side=profil/gbog.php&bruger=<?=$HTTP_GET_VARS[bruger];?>" method=POST name=test>
Navn: <br />
<input type="text" name="navn" value="<? echo "$bruger" ?>" readonly> <br />
<textarea name="kom"></textarea>
<br />
<br />
<input type="submit" value="Skriv" name="skriv">
<input type="reset" value="Restart">
</form>
<?php
if($_POST['skriv']){
if(!$_POST['navn']) {
echo "Du skal skrive et navn!";
}
elseif(!$_POST['kom']) {
echo "Du skal skrive en besked!";
}
else{
$_POST["kom"] = str_replace("<", "&lt;", $_POST["kom"]);
$_POST["kom"] = str_replace(">", "&gt;", $_POST["kom"]);
$_POST["kom"] = str_replace("\\", "\\\\", $_POST["kom"]);
mysql_query("INSERT INTO gbog (id, bruger, name, mail, comment) VALUES ('".$_POST['id']."','".$_GET['bruger']."','".$_POST['navn']."','".$_POST['email']."','".$_POST['kom']."')");
}
}
?>
Avatar billede jakoba Nybegynder
12. december 2004 - 00:32 #1
det der er galt er ovenover hvor du siger

$query = mysql_query("SELECT * FROM gbog WHERE bruger='".$_GET['bruger']."' ORDER BY id DESC");

Af en eller anden grund kan MySQL ikke hitte ud af at udføre den SQL kommando, så variable $query bliver en boolean FALSE isetedetfor et resultatsæt med det der blev fundet.

Det er en ret god ide at sætte en or die() efter sine queries så man får lidt feedback om hvad der gik galt.
fx:
$query = mysql_query("SELECT * FROM gbog WHERE bruger='".$_GET['bruger']."' ORDER BY id DESC") or die(mysql_error());

jeg gætter på at $_GET['bruger']  ikke har nogen værdi, men lad os se hvad for en fejlmeddelelse du får fra MySQL når du prøver med den rettede linie.

mvh JakobA
Avatar billede kack Nybegynder
12. december 2004 - 00:37 #2
Unknown column 'bruger' in 'where clause'¨

Står der :)
Avatar billede jakoba Nybegynder
12. december 2004 - 00:41 #3
Tjae, så er der vel ikke nogen af felterne i din tabel gbog der hedder bruger.
Avatar billede kack Nybegynder
12. december 2004 - 00:41 #4
Hov.. Har selv fundet fejlen :S
Avatar billede kack Nybegynder
12. december 2004 - 00:41 #5
jakoba: Ja... havde lavet den dummeste fejl ever :D
Avatar billede jakoba Nybegynder
12. december 2004 - 00:52 #6
Nu ikke indbildsk. Tror  du virkelig du kan lave noget endnu mere dumt end alle andre ?
Tro mig der er hård konkurrence :-))
Avatar billede kack Nybegynder
12. december 2004 - 00:56 #7
Hehe :)
Avatar billede jakoba Nybegynder
12. december 2004 - 01:01 #8
Avatar billede baitianlong Nybegynder
12. december 2004 - 02:32 #9
såååå...
$bruger = $_GET['bruger'];
$query = mysql_query("SELECT * FROM gbog WHERE bruger='$bruger' ORDER BY id DESC");
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