Avatar billede Slettet bruger
20. juli 2010 - 15:26 Der er 25 kommentarer og
1 løsning

Nem: siden efter Link til en side med ?id=

Nu har jeg fået hjælp, som kan ses i tråden her:
http://www.eksperten.dk/spm/914512

Så er mit spørgsmål bare hvordan man kommer videre.
Når jeg så har siden vis.php?id=3,
Så har jeg problemer med at hente nyheden med id = 3 i databasen

Har startet med den her:
Læste mig til at man skulle gøre sådan her:


$id=$_GET['ID']
   
$query = "SELECT * FROM NEWS WHERE ID = '$id'";
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());


Er det helt forkert?

Fejlen er i linjen der starter med "$query":

Parse error: syntax error, unexpected T_VARIABLE
Avatar billede michael_stim Ekspert
20. juli 2010 - 15:34 #1
$id=$_GET['id'];
 
$query = "SELECT * FROM NEWS WHERE ID = '$id'";
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
Avatar billede michael_stim Ekspert
20. juli 2010 - 15:36 #2
Når denne kommer:
Parse error: syntax error, unexpected T_VARIABLE

Skal man mange gange kigge i linien over og mange gange er det forkert afsluttet kode. Det kan være ) ; } osv.
Avatar billede Slettet bruger
20. juli 2010 - 15:47 #3
Dejligt at vide.
Den fejl har jeg set et par gange.

Så kom næste problem.
Når man så hente data frem fra nyheden med id 3.
Skal det så bare gøres sådan:


echo "<h2>".$result['TITLE']."</h2>"
Avatar billede Slettet bruger
20. juli 2010 - 15:54 #4
Synes nemlig ikke det vil lykkes.
Hvad også glemt et ; til sidst.

Men stadig uden held.
Avatar billede michael_stim Ekspert
20. juli 2010 - 15:56 #5
Næ, det gør du på samme måde som i foregående spørgsmål.

$row=mysql_fetch_array($result);
echo "<h2>".$row['TITLE']."</h2>";
Avatar billede Slettet bruger
20. juli 2010 - 16:00 #6
Hvorfor er det man skal hente den ud i den $row=mysql_fetch_array ?
Du må godt poste et svar forresten.
Avatar billede michael_stim Ekspert
20. juli 2010 - 16:05 #7
Samler ikke på point.

mysql_query($query); //Her kører du bare din forespørgsel mod tabellen

mysql_fetch_array($result); //Her frigiver du resultatet af forespørgelsen

Sådan er det i de fleste sprog.
Avatar billede Slettet bruger
20. juli 2010 - 16:09 #8
Ja okay..
Men når jeg indsætter:


$row=mysql_fetch_array($result);
echo "<h2>".$row['TITLE']."</h2>";


Så kommer jeg rigtigt frem til siden.
vis.php?id=3
men siden er tom.
Der skulle gerne stå det jeg har i TITLE.
Avatar billede michael_stim Ekspert
20. juli 2010 - 16:12 #9
Så er id 3 vel tom. Prøv dig frem, ved at ændre tallet oppe i adresselinjen.
Avatar billede Slettet bruger
20. juli 2010 - 16:17 #10
Jeps har jeg gjort.
Og nope 3 er ikke tom.
Det er jo også den tekst jeg henter frem som link på siden før.
Derfor valgte jeg den som tester.

Har prøvet og andre felter der heller ikke er tomme men de vises heller ikke.
Avatar billede Slettet bruger
20. juli 2010 - 16:23 #11
Har prøvet at gøre sådan nu:


While($row=mysql_fetch_array($result))
{


echo "<h2>".$row['TITLE']."</h2>";
}


Men det virkede heller ikke.
Prøver mig altid lidt frem iden jeg spørg.
Men vil heller spørger inden jeg klokker for meget i det :P
Avatar billede majbom Novice
20. juli 2010 - 16:32 #12
title skal ikke være med småt?
Avatar billede Slettet bruger
20. juli 2010 - 16:37 #13
Nej desværre. Jeg har sådan set bare prøvet nu at kopiere linket fra den anden side. og slettet <a href= delen.
Og det hjalp heller ikke.
Avatar billede Slettet bruger
20. juli 2010 - 17:20 #14
Slet ingen ide om hvad der kan være galt?



<?php

include("config.php");
$id=$_GET['ID'];
   
$query = "SELECT * FROM NEWS WHERE ID = '$id'";
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
While($row=mysql_fetch_array($result))
{


echo "<H2>".$row['TITLE']."</H2>";
}
?>
Avatar billede majbom Novice
20. juli 2010 - 17:26 #15
den skriver bare "<H2></H2>"?
Avatar billede Slettet bruger
20. juli 2010 - 17:30 #16
Nej den skriver ikke noget.
Prøvede at lave denne:


echo "<H2>".$row['TITLE']."</H2>";
echo "<H2>Test</H2>";


Igen uden at der kom andet en en hvid skærm.
Avatar billede michael_stim Ekspert
20. juli 2010 - 17:30 #17
Prøv at ændre ID i din get til id.
Avatar billede Slettet bruger
20. juli 2010 - 17:33 #18
Ahhhh der var den...
Jeg har hele tiden troet at det var databasen jeg skal hente fra der. Det er det jo så ikke...

Sådan.... Takker Michael
Avatar billede rax Praktikant
23. juli 2010 - 10:01 #19
husk i øvrigt lige at rense dit input inden du sender det til databasen.. ellers kommer jeg forbi i mit onde h4x0r kostume og skriver vis.php?id=1'; drop table news; --

ok, den slags kan heldigvis ikke lade sig gøre gennem mysql_query, men min pointe er, at du lige så godt kan vende dig til at sanitere dine databasekald ;) det gør du f.eks. med mysql_real_escape_string eller addslashes().
Avatar billede michael_stim Ekspert
23. juli 2010 - 12:37 #20
Eller mysqli og prepared statement ;o)
Avatar billede rax Praktikant
23. juli 2010 - 12:58 #21
ihvertfald skal det håndteres ;)
Avatar billede michael_stim Ekspert
23. juli 2010 - 13:22 #22
Det bliver det også. Kig i hans andre tråde ;o)
Avatar billede majbom Novice
23. juli 2010 - 15:45 #23
svar michael?
Avatar billede michael_stim Ekspert
23. juli 2010 - 16:07 #24
Nope, samler ikke ;o)
Avatar billede majbom Novice
23. juli 2010 - 16:15 #25
nåårh nej... så må ddd selv ha dem jo :)
Avatar billede Slettet bruger
09. august 2010 - 16:49 #26
Nååå jamen så lukker jeg :)
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