Gå til innhold

PHP- kode feil


Anbefalte innlegg

Videoannonse
Annonse

Og, som alltid.. hva er feilkoden?

 

Men du bør i det minste sjekke om $result !== false. Så bør du også skrive

while(false !== ($r = mysql_fetch_assoc($result)))
{
// en eller annen kode her...
}

 

På den måten er du sikker på at $r og $result ikke er false.

Lenke til kommentar

Får parse feil. Tenkte derfor jeg kunne vise hele koden. Sikkert flere feil:

 

 

<?php
include "config.php";

$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("spørringsfeil: ".mysql_error());

$query = "SELECT * FROM news WHERE id=$Tittel"; 
$result = mysql_query($query);
while($r=mysql_fetch_assoc($result)) { #<--- dette er line 9#


print "<div class=\"tittel\"><img src=\"menyviser2.gif\" border=\"0\"> $r[Tittel]</div><img src=\"images/merke2.gif\" align=\"right\" border=\"0\">";
print "$r[forfatter] - ";
print "$r[dato]<hr>";
print "<div class=\"litentekst\">$r[liten]</div><br />";
print "$r[stor]<br /><br />";
print "<div class=\"lesmer\"><a href=\"index.php?section=nyheter/kommentar\">Kommenter</a></div>";
}
mysql_close($db);

?>

 

Feilen jeg får er:

 

Parse error: parse error in /home/f88d7de/public_html/nyheter/view2_include.php on line 9

 

Har ikke lagt in false'n enda, gjør dette imorgen. Men noen som ser feil?

 

Takker

 

DanielP

 

P.S. Det som lå inni #og# er ikke med i PHP dokumentet. Er bare med her for å vise.

Lenke til kommentar

Du bruker litt annet kode oppsett en meg, noe som gjør en nybgeynner forvirra :D

 

Du er sikker på at du har riktig dv navn og tables? At de faktisk har noe innhold?

 

Jeg dreit meg ut på det her for noen dager siden at jeg ikke hadde fått lagt inn der jeg skulle liste ut.....

Lenke til kommentar

Det at du ikke får noe, betyr jo at linja funker, men at den ikke finner noe der. Eller er jeg helt på jordet, en av guruene?

 

Men en annen ting jeg lurer på er: hvor henter du $titel inn?

 

 

Hakke bytta noe passord eller noe a :D

 

 

EDIT mente seff $titel ikke $id :blush:

Endret av Svendsen
Lenke til kommentar

Denne $Tittel, hvor kommer den fra? Bruker du $Tittle = $_GET['Tittel'] e.l. et eller annet sted? For i nyere PHP, så må du bruke $_GET, $_POST, $_SESSION, $_REQUEST osv for å hente inn variabler som kommer utenfra. Register globals er skrudd av som default.

Endret av FuLu
Lenke til kommentar

... og godt er det!

 

Daneil: skriv echo "Tittel = $Tittel"; et eller annet sted så du vet at du sikkert har en verdi der.

 

Men det er likevel rart, det burde ikke gitt parsefeil om du har Tittel i fnutter eller ikke, burde bare gitt en feilmelding om feil i SQL.

 

husk på å mysql_escape_string() på alt du skal bruke i mysql

Lenke til kommentar

husk på å mysql_escape_string() på alt du skal bruke i mysql

:thumbs:

Det er veldig viktig!

 

Det burde også kjøres en validering av data som går inn i en sql database, f.eks. sjekke lengde - og at det bare er tall som settes inn i INT felt osv.

De som surfer på en side blir ikke særlig imponert over en feilmelding som sier "MySQL error near 'value", da er det bedre at du sjekker feltene selv.

Er det f.eks. tall i et tlf# burde brukeren få beskjed om hvilket felt som er feil utfylt!

Lenke til kommentar

Jeg vet at det er en verdi i Tittel. Bruker den på en annen side. Tingen er at jeg har view1.php som viser tittel, og en liten tekst. De kan da trykke på en link til siden view2.php som er koden dere ser ovenfor. Hvor skal jeg fyre inn mysql_escape_string() Aldri hørt koden før :blush:

 

Men som jeg skrev alt virket for en uke siden, så plutselig begynte jeg å få parse error feilen.

 

Takker

 

DanielP

Lenke til kommentar
Jeg vet at det er en verdi i Tittel. Bruker den på en annen side. Tingen er at jeg har view1.php som viser tittel, og en liten tekst. De kan da trykke på en link til siden view2.php som er koden dere ser ovenfor. Hvor skal jeg fyre inn mysql_escape_string() Aldri hørt koden før :blush:

 

Men som jeg skrev alt virket for en uke siden, så plutselig begynte jeg å få parse error feilen.

 

Takker

 

DanielP

skriv require_once("view1.php");

 

i view2.php

 

 

evt bare sjekk for sikkerhetsskyld at $tittel faktisk er utfylt i view2.php også...

Lenke til kommentar

Har fortsatt problemer med dette.

 

Er det noen som kanskje kunne hjulpet meg med en ny en.

 

Altså view1.php: Her ska det være tittel, "ingress", forfatter, dato. og en "les mer" knapp, som linker til samme nyhet på view2.php

 

view2: her er samme som view1 bare med hele historien. i tillegg til alt det andre.

 

Hadde satt ekstremt stor pris på hjelp til dette. Så håper det er en god sjel der ute som kunne hjulpet en i nød :blush:

 

Takker

 

DanielP

Lenke til kommentar

Her kan du vel like gjerne bruke mysql_fetch_array()

I tillegg burde bruke ' rund tegn i en array, f.eks. $r['dato'].

 

Prøv denne:

<?php
include "config.php";

$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("spørringsfeil: ".mysql_error());

$query = "SELECT * FROM news WHERE id=$Tittel"; 
$result = mysql_query($query);
while($r=mysql_fetch_array($result)) { 
 print "<div class=\"tittel\"><img src=\"menyviser2.gif\" border=\"0\"> $r[Tittel]</div><img src=\"images/merke2.gif\" align=\"right\" border=\"0\">";

 echo $r['forfatter']." - ";
 echo $r['dato']."<hr>";
 echo "<div class=\"litentekst\">".$r['liten']."</div><br />";
 echo $r['stor']."<br /><br />";
 echo "<div class=\"lesmer\"><a href=\"index.php?section=nyheter/kommentar\">Kommenter</a></div>";
}
mysql_close($db);

?>

Endret av ????????
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...