Avatar billede kr-data Nybegynder
21. december 2003 - 15:49 Der er 13 kommentarer og
1 løsning

Id-felt i mysql-database virker ikke

Her er koden

$strsql = mysql_query("select * from heroes_forum where id = '$thread' order by last desc") or die(mysql_error());

$thraed eksisterer, posten eksistere, og alt er faktisk som det skal være.

Borstet fra, posten ikke udskrives. Det hele er rigtigt så vidt jeg ved, men der er jo noget der fejler. Hvad?
Avatar billede eagleeye Praktikant
21. december 2003 - 15:58 #1
Hvis du ikke får en fejl og den ikke skriver noget ud.
Kan du så ikke vise lidt mere kode så vi kan se hvordan koden ser ud som skulle skrive det ud?
Eller er det kun bestemte id's som fejler?
Avatar billede fcknet Nybegynder
21. december 2003 - 15:59 #2
$strsql = mysql_query("select * from heroes_forum where id = $thread order by last desc") or die(mysql_error());
Avatar billede erikjacobsen Ekspert
21. december 2003 - 16:00 #3
Der stroffer, '...', må hjertens gerne være der i mysql, og er IKKE fejlen (hvad
den så end ellers er)
Avatar billede kr-data Nybegynder
21. december 2003 - 16:05 #4
Den fulde kode

<center>
<?
if ($_GET["thread"]) {

$thread = $_GET["thread"];

$strsql = mysql_query("select * from heroes_forum where id = '$thread' order by last desc") or die(mysql_error());

while ($row = mysql_fetch_array($strsql)) {

include "forum/betingelse" . $row["target"] . ".php";

if ($access == "ok") {

?>

<table width="95%" class="newsb"><tr valign="top"><td width="20%" rowspan="2" class="ndetail">#<?= $row["authid"]." ".$row["authtribe"]."<br>"
.$row["time"]; ?>
<td width="15%" class="nheading"><center><div class="uheading"><?= $row["title"]; ?></div></center></td></tr>

<tr valign="top">
<td width="85%" class="ncontent"><?= $row["message"]; ?><br><br></td></tr></table><br>

<?
}


$strsql = mysql_query("select * from heroes_forum where ans = $thread order by last desc");

while ($row = mysql_fetch_array($strsql)) {

?>
<table width="95%" class="newsb">
<tr valign="top">
<td width="15%" rowspan="2" class="ndetail">#<?= $row["authid"]." ".$row["authtribe"]."<br>"
.$row["time"]; ?>
</td>

<td width="85%" class="ncontent"><?= $row["message"]; ?><br><br></td></tr></table><br>
<?

}
}// else {
//}

} else {


}
?>
</center>


Den nederste der indsætter svarene virker uden problemer!
Avatar billede erikjacobsen Ekspert
21. december 2003 - 16:10 #5
Får du inkluderet den rigtige fil?
Hvor med $access i
  if ($access == "ok") {
hvor kommer den fra?
Avatar billede eagleeye Praktikant
21. december 2003 - 16:11 #6
Den anden while du har bruger samme variable $strsql til at hendte ud fra databsen. Så overskriver du resultat fra den første SQL query.
Avatar billede erikjacobsen Ekspert
21. december 2003 - 16:16 #7
Ja, det er rodet, eagleeye, men gør ikke noget. Den ene relevante
række burde være udskrevet på det tidspunkt. Jeg tror ikke det udløser
fejlen. Men det er mere pænt at afslutte den første whileløkke inden
den anden begynder.
Avatar billede eagleeye Praktikant
21. december 2003 - 16:25 #8
Nej det er nok ikke der fejlen ligge, men du havde jo skrevet det med $access=="ok". Så ville jeg lige nævne det da det i mine øjne ikke smart at gøre det selvom det virker i dette eks. Hvis der var 10 rows i den første query vil den kun udskrive den første.
Avatar billede kr-data Nybegynder
21. december 2003 - 16:34 #9
ja jeg er med, det er den $accees der dannede fejlen. Problemet med placringen er, at $access sættes ud fra feltet "target" i databasen og ud fra dine instillinger (f.eks. om du er admin).

Men jeg kan godt forstå det virker lidt ånsvagt normalt, men i dette tilfælde vil der aldrig være mere end en post.
Avatar billede kr-data Nybegynder
21. december 2003 - 16:35 #10
erikjacobsen>> Smid et svar, det var dit forslag, der gjorode, at jeg fandt fejlen
Avatar billede erikjacobsen Ekspert
21. december 2003 - 16:37 #11
Ok, men jeg skal lige have forklaret hvad der egentlig var galt...
Avatar billede kr-data Nybegynder
21. december 2003 - 16:40 #12
Det var i betingelse1.php, hvor jeg havde skrevet:

if ($rights >= 2) {
$access = "ok";
}(...)

den skulle hedde:
if ($rights <= 2) {
$access = "ok";
}
Avatar billede erikjacobsen Ekspert
21. december 2003 - 16:41 #13
Ok ;) Egentlig ret godt klaret at finde fejl i kode jeg end ikke kender
eksistensen af ...
Avatar billede kr-data Nybegynder
21. december 2003 - 16:42 #14
Tja, du gav mig jo hintet, og så kiggede jeg mig jo bare en ekstra gang omkring!
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