Avatar billede svs Nybegynder
02. august 2001 - 17:58 Der er 6 kommentarer og
1 løsning

Rette i database

Jeg troede lig det gik så godt...

Jeg har mig en database som jeg gerne vil rette lidt i til det har jeg lavet en side hvor man vælger nogle muligheder i nogle forms - via submit bliver man ført til side to hvor jeg har følgende kode:

<?php
$conn = mysql_connect(\"localhost\", \"root\", \"x\");
mysql_select_db(\"flo-hb\");

update HB
set $hvad=\'$indhold\'
where $hvem=\'$hvad\'

mysql_close($conn);

?>

Men det giver en fejl omkring linien update.

Er jeg helt galt på den?

Søren
Avatar billede henrik_ffc Nybegynder
02. august 2001 - 18:20 #1
<?php
$conn = mysql_connect(\"localhost\", \"root\", \"x\");
mysql_select_db(\"flo-hb\");

mysql_query(\"update HB set $hvad=\'$indhold\' where $hvem=\'$hvad\'\") or die(mysql_error());

mysql_close($conn);
?>
Avatar billede svs Nybegynder
02. august 2001 - 18:27 #2
Hej Henrik
det giver følgende fejlmeddelse:

You have an error in your SQL syntax near \'=\'Title\'\' at line 1
Avatar billede henrik_ffc Nybegynder
02. august 2001 - 18:35 #3
Det er fordi $hvad eller $hvem ikke indeholder et gyldigt rækkenavn
Avatar billede henrik_ffc Nybegynder
02. august 2001 - 18:36 #4
Er du sikker på at du ikke mener
mysql_query(\"update HB set hvad=\'$indhold\' where hvem=\'$hvad\'\") or die(mysql_error());

Altså hvor du ikke bruger $hvad og $hvem som variable, men som navne?
Avatar billede svs Nybegynder
02. august 2001 - 18:47 #5
Jeg har fundet problemet, men ved ikke lige hvordan det skal løses.

På side 1 har jeg via en forspørgsel proppet posterne fra tabellens felt \"titel\" ind i en kombinationsboks, problemet er at valget brugeren fortager ikke bliver overført til side to men kin værdien \"hvem\"

echo \"<form action=ret2.php method=post>
Hvem vil du rette? <select name=hvem>\";
   

while ($raekke = mysql_fetch_array($resultat)) {
  extract($raekke);
echo \"<option value=hvem>$Titel\";
Avatar billede henrik_ffc Nybegynder
02. august 2001 - 18:57 #6
Jeg kan ikke helt gennemskue opbygningen af din tabel, men
mon ikke din sql-linie så skulle hedde noget a\'la

mysql_query(\"update HB set ????=\'$indhold\' where titel=\'$hvem\'\") or die(mysql_error());

og så skal din echo være:
echo \"<option value=$titel>$titel</option>\";
Avatar billede svs Nybegynder
02. august 2001 - 19:10 #7
Hej Henrik
Problemet var her:
og så skal din echo være:
echo \"<option value=$titel>$titel</option>\";
Nu virker det som det skal.

Jeg takker mange gange.

Søren
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