Avatar billede tlunde Nybegynder
21. juni 2003 - 10:44 Der er 9 kommentarer og
1 løsning

MySQL fejl?

Hejsa,
Jeg får en SQL fejl, som jeg ikke lige kan finde ud af.

Jeg har prøvet at sætte min kode op sådan her:
<?
include("../config.php");
?>
<?php
db_con();

$id = $_GET['id'];
$nyhed = mysql_query("SELECT * FROM nyheder WHERE id = $id");
$row = mysql_fetch_array($nyhed);
echo "$row[overskrift]<br><br>";
echo "$row[nyhed]";
?>
<hr>
<?php
db_con();

$list = mysql_query("SELECT * FROM nyheder WHERE id != $id ORDER BY id DESC");
while($row = mysql_fetch_array($list)) {
    echo "<a href=\"?id=$row[id]\">$row[overskrift]</a><br>";
}
?>

Men den melder fejl når det køres:
http://www.thomaslunde.dk/testing/news.php
Avatar billede fsconsult.dk Nybegynder
21. juni 2003 - 10:50 #1
du bør benytte "or die" efter mysql kald.

f.eks.
$list = mysql_query("SELECT * FROM nyheder WHERE id != $id ORDER BY id DESC")
or die("mysql error: ".mysql_error()."<br>\n");

iøvrigt tror jeg at du skal benytte "<>" og ikke "!=" i MySQL ..
Avatar billede tlunde Nybegynder
21. juni 2003 - 10:53 #2
Okay, men nu skriver den sådan i stedet for:
mysql error: You have an error in your SQL syntax near '' at line 1

Hvordan ved jeg så hvad det er for en fejl?
Avatar billede fiskemanden Nybegynder
21. juni 2003 - 11:05 #3
Der er intet i vejen med din kode...

Du skal bare huske at du har kodet så du SKAL have parameteren $_GET[id] med... Dvs. at din side skal se således ud:
http://www.thomaslunde.dk/testing/news.php?id=1
Avatar billede fiskemanden Nybegynder
21. juni 2003 - 11:05 #4
svar
Avatar billede tlunde Nybegynder
21. juni 2003 - 11:08 #5
Er det ikke også det jeg gør ved linien:
echo "<a href=\"?id=$row[id]\">$row[overskrift]</a><br>";

Eller mangler der noget i den første del også?
Avatar billede fiskemanden Nybegynder
21. juni 2003 - 11:12 #6
Den siger fejl når du går ind på siden UDEN ?id=213123 ...

Når først du kommer ind på siden virker den fint... hvis bare du starter med at angive id...


Jeg kan godt lige smække lidt kode sammen, så den ikke laver fejl, men istedet giver en liste over nyheder... :)
Avatar billede fiskemanden Nybegynder
21. juni 2003 - 11:14 #7
<?
include("../config.php");
?>
<?php
db_con();

$id = $_GET['id'];
$nyhed = mysql_query("SELECT * FROM nyheder WHERE id = $id");
$row = mysql_fetch_array($nyhed);
echo "$row[overskrift]<br><br>";
echo "$row[nyhed]";
?>
<hr>
<?php
db_con();

if (!empty($id)) {
$list = mysql_query("SELECT * FROM nyheder WHERE id != $id ORDER BY id DESC");
} else {
$list = mysql_query("SELECT * FROM nyheder ORDER BY id DESC");
}

while($row = mysql_fetch_array($list)) {
    echo "<a href=\"?id=$row[id]\">$row[overskrift]</a><br>";
}
?>
Avatar billede tlunde Nybegynder
21. juni 2003 - 11:21 #8
Nu virker det da til dels, men det mangler lige at vise den første nyhed, når ma køre: http://www.thomaslunde.dk/testing/news.php

Kan man få den til det?
Avatar billede tlunde Nybegynder
21. juni 2003 - 11:46 #9
Så virker det som det skal...jeg takker mange gange for jeres hjælp!
Avatar billede fiskemanden Nybegynder
21. juni 2003 - 12:19 #10
Så lidt :)
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