Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:24 Der er 29 kommentarer og
1 løsning

kan ikke få forespørgsel til at virke i ret form

Hej jeg er ved at prøve at lave en forespørgsel i php hvor jeg skal hente id fra en speciel post i en database som det så skal være muligt at rette i men jeg får en fejl når jeg kører scriptet hvad er der galt

mit script ser ud som følger

<?
$db = mysql_connect("database", "brugernavn","kodeord");
mysql_select_db("rdnwo_dk",$db);
$fore = mysql_query("select * from rdnwo_dk.nyheder WHERE id=".$_GET["id"].";");
for ($data = mysql_fetch_array($fore)){
echo $data[2];
}?>
Avatar billede Slettet bruger
06. december 2004 - 20:26 #1
prøv at lave enkeltquotes om arrayelentet i stedet:

"SELECT * FROM rdnwo_dk.nyheder WHERE id=".$_GET['id'].";"
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:28 #2
så får jeg denne fejl
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /STORE/rdnwo_dk/public_html/test/ret.php on line 4
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:30 #3
rettelse mit script skal være sådan her
<?
$db = mysql_connect("database", "bruger","password");
mysql_select_db("rdnwo_dk",$db);
$fore = mysql_query("SELECT * FROM rdnwo_dk.nyheder WHERE id=".$_GET['id'].";");
while($data = mysql_fetch_array($fore)){
echo $data[2];
}?>
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:36 #4
det virker som om at lige så snart jeg indsætter WHERE id=".$_GET['id'].";" så virker det ikke har du nogle foreslag ??
Avatar billede hmortensen Nybegynder
06. december 2004 - 20:36 #5
<?php

$db = mysql_connect("database", "bruger","password");
mysql_select_db("rdnwo_dk",$db);

$fore = mysql_query("SELECT * FROM nyheder WHERE id=".$_GET['id']);
while($data = mysql_fetch_array($fore)){
    echo $data[2];
}
?>
Avatar billede Slettet bruger
06. december 2004 - 20:38 #6
Er du sikker på du sksal have det ekstra semikolen?
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:39 #7
det giver denne fejl

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /STORE/rdnwo_dk/public_html/test/ret.php on line 5
Avatar billede hmortensen Nybegynder
06. december 2004 - 20:39 #8
Og hvis du vil ha evt. fejl fra server, så sæt or die() på:

$fore = mysql_query("SELECT * FROM nyheder WHERE id=".$_GET['id']) or die(mysql_error());
Avatar billede hmortensen Nybegynder
06. december 2004 - 20:40 #9
så skal du lige prøve den linie jeg lige skrev, for det tyder på fejl i din forespørgelse
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:42 #10
giver denne fejl
You have an error in your SQL syntax near '[0]' at line 1
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:44 #11
og ja ; skal være der ellers finder den på andre fejl det virke i mine slette link med den kode så det burde også virke her men af en eller anden grund gør det ikke :)
Avatar billede hmortensen Nybegynder
06. december 2004 - 20:44 #12
har du ?id=[et_tal] i adr baren ?
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:45 #13
Avatar billede hmortensen Nybegynder
06. december 2004 - 20:47 #14
row[0] er ikke et tal :)

er linket dynamisk generet på en anden side ?

for det virker som om du har en fejl i udskrivningen der

hvis du kalder siden med:
http://www.rdnwo.dk/test/ret.php?id=1
virker det fint
Avatar billede Slettet bruger
06. december 2004 - 20:49 #15
leder du i databasen efter "row[0];" eller efter "0;"?
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:52 #16
ok så det er linket den er gal med
ja du havde ret jeg havde glemt et $ i linket tak for hjælpen hvis du giver mig et svar får du dine points :)
Avatar billede hmortensen Nybegynder
06. december 2004 - 20:56 #17
Det var så lidt

Og lige for at aflive den med semikolon:
Det er kun nødtvendigt, hvis der flere forespørgelser efter hinanden, så ikke nødtvendigt her, men gør heller ingen skade :)

Siden du ikke havde opdaget at du manglede et dollartegn, så udskriver du nok linket sådan her:

echo "<a href=\"side.php?id=$row[0]\">Link</a>";

hvis du deler strenge og variabler op, vil du få en fejl på linien, og ville med stor sandsynelighed opdage fejlen selv, og komme hurtigt videre.
ex.:
echo "<a href=\"side.php?id=".$row[0]."\">Link</a>";
Avatar billede hmortensen Nybegynder
06. december 2004 - 20:56 #18
Jeg prøver lige igen
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 20:58 #19
tak for hjælpen det vil jeg prøve for eftertiden :)
Avatar billede hmortensen Nybegynder
06. december 2004 - 21:00 #20
Og lige et tip mere:

hvis du har en tabel med felterne id, navn, så kan de hentes sådan her:

$row['id'] og $row['navn']

gør det lettere istedet for at huske på hvilket nr feltet er
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 21:09 #21
nu hvor jeg har dig hvis jeg så skal genbruge det id jeg netop har hentet for at overskrive den post i tabellen skriver jeg så mysql_query(replace into nyheder where id=".$_GET['id'].";
Avatar billede hmortensen Nybegynder
06. december 2004 - 21:10 #22
altså du vil redigere oplysninger der passer til et bestemt id ?
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 21:11 #23
ja
Avatar billede hmortensen Nybegynder
06. december 2004 - 21:27 #24
så skal du bruge update.

du sender dine værdier fra en form, og afhængig af method på formen opsamler du med $_POST eller $_GET

mysql_query("UPDATE tabel SET felt1 = '".$_GET['felt1']."', felt2 = '".$_GET['felt2']."' WHERE id = ".$_GET['id']);
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 21:28 #25
ja jeg får enten fejlmeddelselser eller også retter den bare ikke noget kan du hjælpe mig lidt ??
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 21:28 #26
ok det prøver jeg
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 21:33 #27
den rette stadig ikke noget gud ved om den ikke modtager id'et
Avatar billede hmortensen Nybegynder
06. december 2004 - 21:34 #28
prøvet med or di bagefter:

mysql_query("update.....") or die(mysql_error());
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 21:40 #29
jeg får ingen fejlmeddelelse men den retter bare ikke i tabellen
Avatar billede nielschristiansen Nybegynder
06. december 2004 - 21:57 #30
You have an error in your SQL syntax near '' at line 1
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