Avatar billede angelenglen Nybegynder
13. april 2003 - 04:14 Der er 6 kommentarer og
1 løsning

mysql error - hvad er der galt her?

jeg får følgende fejl:

You have an error in your SQL syntax near 'key='#000000' WHERE id='1'' at line 1

-jeg kan altså ikke finde min fejl :(
Alle de forskellige keyXX-værdier er fra form-input felter, og indeholder en html hex-farve.

-----savesettings.php-----
<?
include("database.php");

$key1 =addslashes($key1);
$key2 =addslashes($key2);
  $key3 =addslashes($key3);
  $key4 =addslashes($key4);
    $key5 =addslashes($key5);
    $key6 =addslashes($key6);
      $key7 =addslashes($key7);
      $key8 =addslashes($key8);
        $key9 =addslashes($key9);
        $key10=addslashes($key10);
          $key11=addslashes($key11);
          $key12=addslashes($key12);
            $key18=addslashes($key18);
            $key24=addslashes($key24);
              $key25=addslashes($key25);
              $key26=addslashes($key26);
                $key27=addslashes($key27);
                $key28=addslashes($key28);
                  $key29=addslashes($key29);
                  $key30=addslashes($key30);
                    $key32=addslashes($key32);
                    $key33=addslashes($key33);
                      $key34=addslashes($key34);
                      $key35=addslashes($key35);
                        $key36=addslashes($key36);
                        $key37=addslashes($key37);
                          $key38=addslashes($key38);

                          mysql_query("UPDATE misc_shoutbox1_config SET key='$key1' WHERE id='1'")or die(mysql_error());
                        mysql_query("UPDATE misc_shoutbox1_config SET key='$key2' WHERE id='2'")or die(mysql_error());
                        mysql_query("UPDATE misc_shoutbox1_config SET key='$key3' WHERE id='3'")or die(mysql_error());
                      mysql_query("UPDATE misc_shoutbox1_config SET key='$key4' WHERE id='4'")or die(mysql_error());
                      mysql_query("UPDATE misc_shoutbox1_config SET key='$key5' WHERE id='5'")or die(mysql_error());
                    mysql_query("UPDATE misc_shoutbox1_config SET key='$key6' WHERE id='6'")or die(mysql_error());
                    mysql_query("UPDATE misc_shoutbox1_config SET key='$key7' WHERE id='7'")or die(mysql_error());
                  mysql_query("UPDATE misc_shoutbox1_config SET key='$key8' WHERE id='8'")or die(mysql_error());
                  mysql_query("UPDATE misc_shoutbox1_config SET key='$key9' WHERE id='9'")or die(mysql_error());
                mysql_query("UPDATE misc_shoutbox1_config SET key='$key10' WHERE id='10'")or die(mysql_error());
                mysql_query("UPDATE misc_shoutbox1_config SET key='$key11' WHERE id='11'")or die(mysql_error());
              mysql_query("UPDATE misc_shoutbox1_config SET key='$key12' WHERE id='12'")or die(mysql_error());
              mysql_query("UPDATE misc_shoutbox1_config SET key='$key18' WHERE id='18'")or die(mysql_error());
            mysql_query("UPDATE misc_shoutbox1_config SET key='$key24' WHERE id='24'")or die(mysql_error());
            mysql_query("UPDATE misc_shoutbox1_config SET key='$key25' WHERE id='25'")or die(mysql_error());
          mysql_query("UPDATE misc_shoutbox1_config SET key='$key26' WHERE id='26'")or die(mysql_error());
          mysql_query("UPDATE misc_shoutbox1_config SET key='$key27' WHERE id='27'")or die(mysql_error());
        mysql_query("UPDATE misc_shoutbox1_config SET key='$key28' WHERE id='28'")or die(mysql_error());
        mysql_query("UPDATE misc_shoutbox1_config SET key='$key29' WHERE id='29'")or die(mysql_error());
      mysql_query("UPDATE misc_shoutbox1_config SET key='$key30' WHERE id='30'")or die(mysql_error());
      mysql_query("UPDATE misc_shoutbox1_config SET key='$key32' WHERE id='32'")or die(mysql_error());
    mysql_query("UPDATE misc_shoutbox1_config SET key='$key33' WHERE id='33'")or die(mysql_error());
    mysql_query("UPDATE misc_shoutbox1_config SET key='$key34' WHERE id='34'")or die(mysql_error());
  mysql_query("UPDATE misc_shoutbox1_config SET key='$key35' WHERE id='35'")or die(mysql_error());
  mysql_query("UPDATE misc_shoutbox1_config SET key='$key36' WHERE id='36'")or die(mysql_error());
mysql_query("UPDATE misc_shoutbox1_config SET key='$key37' WHERE id='37'")or die(mysql_error());
mysql_query("UPDATE misc_shoutbox1_config SET key='$key38' WHERE id='38'")or die(mysql_error());
  header ("Location: index.php");
?>

-----savesettings.php-----
Avatar billede erikjacobsen Ekspert
13. april 2003 - 07:51 #1
skriv

  ... where `key` = ....

for key er et reserveret ord. Brug evt et andet ord - det
give mindre bøvl
Avatar billede fangel Nybegynder
13. april 2003 - 10:28 #2
erik => tænkte også umidbart på sådan nogle ting... har tidligere løbet ind i den slags fejl...
Avatar billede schaefner Juniormester
13. april 2003 - 10:52 #3
Det ville måske også være smart at lave den i f.eks. en for-løkke i stedet for at skriver hver enkelt update, men det var lidt et sidsespring :)
Avatar billede fangel Nybegynder
13. april 2003 - 10:56 #4
ex:

-----savesettings.php-----
<?
include("database.php");
$no_keys = 38;
for($i=1;$i<=$no_keys;$i++;) {
  $name = "$key$i";
  $$name = addslashes($$name);
  mysql_query("UPDATE misc_shoutbox1_config SET `key`='$$name' WHERE id='$i'")or die(mysql_error());
}
header ("Location: index.php");
?>

gør det samme som dit script... bare en smule kortere...

Morten
Avatar billede angelenglen Nybegynder
13. april 2003 - 13:53 #5
well jeg ville gerne lave det i en løkke, det var også min første tanke, men det er ikke alle id'erne der er i databasen, eller i formen - for jeg har slettet et par af dem.
Dem der er tilbage er dog permanente, så det kun er værdierne og ikke hvad for felter der bliver skiftet.

Mange tak for hjælpen.
Avatar billede angelenglen Nybegynder
13. april 2003 - 14:01 #6
erikjacobsen: svar for points forresten.
Avatar billede angelenglen Nybegynder
24. maj 2003 - 14:37 #7
eller lad være :|
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