Avatar billede cozey Nybegynder
28. juli 2009 - 15:19 Der er 11 kommentarer

kan ikke se fejlen (update i MySQL)

Hej.

Jeg har problemer med min kode, når jeg forsøger at opdatere rækker i min database. Her er koden:

<?php
              $telefon = $_GET['telefon'];
              $beskrivelse = $_POST['beskrivelse'];
              mysql_connect("******", "******", "******") or die(mysql_error());
              mysql_select_db("web329930_5") or die(mysql_error());
              $query = mysql_query("update customer SET godkendt='ja' && beskrivelse='$beskrivelse' where telefon='$telefon'") OR DIE(mysql_error());
             
?>

før da jeg bare ønskede at opdatere "godkendt" virkede det fint, men nu hvor jeg prøver med beskrivelse også virker ingen af tingene. Nogen der kan sige mig hvad fejlen er i koden?

På forhånd tak.

/Daniel
Avatar billede Slettet bruger
28. juli 2009 - 15:21 #1
Prøv med:
$query = mysql_query("update customer SET godkendt='ja' AND beskrivelse='$beskrivelse' where telefon='$telefon'") OR DIE(mysql_error());


- && bruges ikke i SQL
Avatar billede kdjweb Nybegynder
28. juli 2009 - 15:21 #2
$query = mysql_query("update customer SET (godkendt, beskrivelse) VALUES ('ja', '$beskrivelse' WHERE telefon='$telefon'") OR DIE(mysql_error());
Avatar billede kdjweb Nybegynder
28. juli 2009 - 15:22 #3
$query = mysql_query("update customer SET (godkendt, beskrivelse) VALUES ('ja', '$beskrivelse') WHERE telefon='$telefon'") OR DIE(mysql_error());

sorry tastefejl
Avatar billede keysersoze Ekspert
28. juli 2009 - 15:22 #4
$query = mysql_query("UPDATE customer SET godkendt='ja', beskrivelse='$beskrivelse' WHERE telefon='$telefon'") OR DIE(mysql_error());
Avatar billede Slettet bruger
28. juli 2009 - 15:25 #5
Haha, der kom mange. Ignorer min - der var jeg for hurtig :)
keysersoze's løsning er den rigtige
Avatar billede kdjweb Nybegynder
28. juli 2009 - 15:28 #6
Jep min er til en insert query :P ups
Avatar billede repox Seniormester
28. juli 2009 - 15:50 #7
Bare lige for at supplere keysersoze, vil jeg lige gøre ompærksom på problematikken omkring sql injections.

En mere sikker kode ville være:
<?php
              $telefon = $_GET['telefon'];
              $beskrivelse = $_POST['beskrivelse'];
              mysql_connect("******", "******", "******") or die(mysql_error());
              mysql_select_db("web329930_5") or die(mysql_error());
              $query = mysql_query("UPDATE customer SET godkendt='ja', beskrivelse='".mysql_real_escape_string($beskrivelse)."' WHERE telefon='".mysql_real_escape_string($telefon."'") or die(mysql_error());
           
?>
Avatar billede keysersoze Ekspert
28. juli 2009 - 17:33 #8
med al det materiale der findes omkring SQL injection kan det vel snart ikke gå nogen udviklers næse forbi :)
Avatar billede repox Seniormester
28. juli 2009 - 20:21 #9
Jeg vil give dig ret, men det så ud til at det alligevel var tilfældet jf #0's kode :)
Avatar billede keysersoze Ekspert
28. juli 2009 - 20:32 #10
man kunne jo håbe det bare var for eksemplets skyld ;)
Avatar billede keysersoze Ekspert
18. september 2009 - 22:52 #11
lukketid?
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