Avatar billede php-nybegynderen Nybegynder
22. april 2007 - 16:14 Der er 5 kommentarer

Update problem.

Jeg laver en simpel opdatering, og jeg orker ikke at se hvad jeg har glemt.. (Måske kan jeg heller ikke :P)

Men se på den:

<table style="margin: 5px;" align="left">
  <tr>
    <td colspan="2" align="left"><b>Maps</b></td>
  </tr>
  <tr>
    <td style="height: 11px;"></td>
  </tr>

<?

if ($_POST['update'] != "") {
$updatequery = mysql_query("UPDATE kampoversigt (map1,map2,map3,map4) VALUES ('" . $_POST['map1'] . "','" . $_POST['map2'] . "','" . $_POST['map3'] . "','" . $_POST['map4'] . "') WHERE id = '1'");
}

$query = mysql_query("SELECT * FROM fc_brackets WHERE id='1'");
    $hold = mysql_fetch_array($query);

?>

<form action="" method="post">
  <tr>
    <td align="left"><b>Ottendedelsfinaler</b></td>
    <td align="left"><input type="text" name="map1" value="<? echo $hold['map1']; ?>"></td>
  </tr>
  <tr>
    <td align="left"><b>Kvartfinaler</b></td>
    <td align="left"><input type="text" name="map2" value="<? echo $hold['map2']; ?>"></td>
  </tr>
  <tr>
    <td align="left"><b>Semifinaler</b></td>
    <td align="left"><input type="text" name="map3" value="<? echo $hold['map3']; ?>"></td>
  </tr>
  <tr>
    <td align="left"><b>Finale</b></td>
    <td align="left"><input type="text" name="map4" value="<? echo $hold['map4']; ?>"></td>
  </tr>
  <tr>
    <td align="left" colspan="2"><input type="submit" name="update" value="Opdater"></td>
  </tr>
</form>

</table>
Avatar billede jakobdo Ekspert
22. april 2007 - 16:19 #1
Du bør tilføje lidt til din $updatequery.

$updatequery = mysql_query("UPDATE kampoversigt (map1,map2,map3,map4) VALUES ('" . $_POST['map1'] . "','" . $_POST['map2'] . "','" . $_POST['map3'] . "','" . $_POST['map4'] . "') WHERE id = '1'") or die(mysql_error());
Avatar billede php-nybegynderen Nybegynder
22. april 2007 - 16:29 #2
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(map1,map2,map3,map4) VALUES ('de_dust2','de_nuke','','') WHERE id = '1'' at line 1
Avatar billede php-nybegynderen Nybegynder
22. april 2007 - 16:31 #3
Kan se, at kampoversigt skulle rettes til fc_brackets, men det retter ikke op på noget :/
Avatar billede php-nybegynderen Nybegynder
22. april 2007 - 16:35 #4
Øv, jeg skal åbenbart bruge:

SET map1='" . $_POST['map1'] . "' osv..

Tror du ikke man på en eller anden måde kan få det nuværende til at virke. Fordi jeg har en forespørgsel, der er meget længere, som heller ikke virker, og som vil være rigtig kedelig at rette.
Avatar billede jakobdo Ekspert
22. april 2007 - 17:13 #5
Du skal bruge følgende syntax:

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
    SET col_name1=expr1 [, col_name2=expr2 ...]
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

Så det bliver:

$updatequery = mysql_query("UPDATE kampoversigt SET map1 = $_POST['map1'] . "', map2 = '" . $_POST['map2'] . "', map3 = '" . $_POST['map3'] . "', map4 = '" . $_POST['map4'] . "' WHERE id = '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