Avatar billede mrs Nybegynder
29. december 2002 - 13:07 Der er 3 kommentarer og
1 løsning

Update

Jeg vil kunne opdatere en record i min tabel, men hvorfor virker det ikke.
Sådan her ser koden ud:

<?php
$conn = mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");
$ID = $_REQUEST['ID'];
$Overskrift = $_REQUEST['Overskrift'];
$Dato = $_REQUEST['Dato'];
$Sted = $_REQUEST['Sted'];
$Adresse = $_REQUEST['Adresse'];
$Tid = $_REQUEST['Tid'];
$Udstyr = $_REQUEST['Udstyr'];
$Kommentar = $_REQUEST['Kommentar'];

    $insert = mysql_query("UPDATE events SET (Overskrift, Dato, Sted, Adresse, Tid, Udstyr, Kommentar) VALUES ('$Overskrift', '$Dato', '$Sted', '$Adresse', '$Tid', '$Udstyr', '$Kommentar') WHERE ID=$ID") or die(mysql_error());
    echo "Opdateret!<br><br>";
    echo "<b>".$Overskrift."</b><br><br>";
    echo "<b>Dato: </b>".$Dato."<br>";
    echo "<b>Sted: </b>".$Sted."<br>";
    echo "<b>Adresse: </b>".$Adresse."<br>";
    echo "<b>Tid: </b>".$Tid."<br>";
    echo "<b>Udstyr: </b>".$Udstyr."<br>";
    echo "<br>".$Kommentar."<br>";

mysql_close($conn);
?>
Ingen problemer i at skrive det der er blevet sendt fra formularen. ID ligger som hidden i formularen og er også med.
Her er fejlen:

You have an error in your SQL syntax near '(Overskrift, Dato, Sted, Adresse, Tid, Udstyr, Kommentar) VALUES ('5345 ', 'hg '' at line 1
Avatar billede whatever Nybegynder
29. december 2002 - 13:14 #1
Din update-sætning er ikke helt korrekt. Det ligner mest en blanding af update og insert. Prøv at kigge her: http://www.mysql.com/doc/en/UPDATE.html

Jeg har tilrettet din kode:

<?php
$conn = mysql_connect("xxx", "xxx", "xxx");
mysql_select_db("xxx");
$ID = $_REQUEST['ID'];
$Overskrift = $_REQUEST['Overskrift'];
$Dato = $_REQUEST['Dato'];
$Sted = $_REQUEST['Sted'];
$Adresse = $_REQUEST['Adresse'];
$Tid = $_REQUEST['Tid'];
$Udstyr = $_REQUEST['Udstyr'];
$Kommentar = $_REQUEST['Kommentar'];

    mysql_query("UPDATE events SET Overskrift='$Overskrift', Dato='$Dato', Sted='$Sted', Adresse='$Adresse', Tid='$Tid', Udstyr='$Udstyr', Kommentar='$Kommentar' WHERE ID=$ID") or die(mysql_error());
    echo "Opdateret!<br><br>";
    echo "<b>".$Overskrift."</b><br><br>";
    echo "<b>Dato: </b>".$Dato."<br>";
    echo "<b>Sted: </b>".$Sted."<br>";
    echo "<b>Adresse: </b>".$Adresse."<br>";
    echo "<b>Tid: </b>".$Tid."<br>";
    echo "<b>Udstyr: </b>".$Udstyr."<br>";
    echo "<br>".$Kommentar."<br>";

mysql_close($conn);
?>
Avatar billede whatever Nybegynder
29. december 2002 - 13:18 #2
Desuden burde du ikke benytte $_REQUEST, men istedet $_POST eller $_GET afhængig af metoden du sender din form på. Dette skyldes, at $_REQUEST indeholder data fra både POST, GET og cookies, og vil derfor være langsommere (især på store sites).
Avatar billede francodavid Nybegynder
29. december 2002 - 13:27 #3
ID=$ID") skulle nok være ID='$ID'")
Avatar billede mrs Nybegynder
29. december 2002 - 13:40 #4
whatever>>> Det virkede, jeg er ikke helt inde i det her sprog endnu, så jeg skal tage post og get til efterretning.
Tak for hjælpen.
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