Avatar billede kappel Nybegynder
22. april 2005 - 20:37 Der er 5 kommentarer og
1 løsning

update sql med et array der indeholder en streng

Hej

Jeg har følgende:
if ( !empty( $_POST['adresse'] ) )      $SET_ARRAY[] = 'adresse    = '.$_POST['adresse'];
if ( !empty( $_POST['postnr'] ) )      $SET_ARRAY[] = 'postnr    = '.$_POST['postnr'];
if ( !empty( $_POST['tlf'] ) )          $SET_ARRAY[] = 'tlf        = '.$_POST['tlf'];
if ( !empty( $_POST['mobil'] ) )        $SET_ARRAY[] = 'mobil      = '.$_POST['mobil'];
if ( !empty( $_POST['email'] ) )        $SET_ARRAY[] = 'email      = '.$_POST['email'];
if ( !empty( $_POST['kaldenavn'] ) )    $SET_ARRAY[] = 'kaldenavn  = '.$_POST['kaldenavn'];
if ( !empty( $_POST['spiller_nr'] ) )  $SET_ARRAY[] = 'spiller_nr = '.$_POST['spiller_nr'];
if ( !empty( $_POST['position'] ) )    $SET_ARRAY[] = 'position  = '.$_POST['position'];
if ( !empty( $_POST['hojde'] ) )        $SET_ARRAY[] = 'hojde      = '.$_POST['hojde'];
if ( !empty( $_POST['vagt'] ) )        $SET_ARRAY[] = 'vagt      = '.$_POST['vagt'];


Men jeg får fejl når jeg prøver at indsætte noget, jeg mangler nogle ' men jeg ved simpelthen ikke hvor de skal være.

Er der nogle der har et bud?

Se mere her, hvor busschou har hjulpet: http://www.eksperten.dk/spm/612035

Mvh. Kappel
Avatar billede barklund Nybegynder
22. april 2005 - 20:42 #1
Alle dine strenge (som er varchar's eller tilsvarende i databasen) skal quotes som:

if ( !empty( $_POST['adresse'] ) )      $SET_ARRAY[] = 'adresse    = "' . $_POST['adresse'] . '"';

--
Morten Barklund
Avatar billede kappel Nybegynder
22. april 2005 - 20:56 #2
super tak for det - smid et svar
Avatar billede lazenby Nybegynder
22. april 2005 - 21:00 #3
Det plejer at være en composite -> s-video-adapter.
Avatar billede lazenby Nybegynder
22. april 2005 - 21:01 #4
Ok, det var vist lidt maplaceret her.. forkert spørgsmål, sorry :)
Avatar billede barklund Nybegynder
22. april 2005 - 21:02 #5
Men hvis nu man vælger at skrive adressen:

Foo vej" 13

Så vil det jo give en fejl, da der er en " i navnet. Nu ved jeg ikke, om du har magic quotes slået til, men hvis ikke, så skal du lige tilføje slashes til en række specialvariabler - via mysql_real_escape_string:

if ( !empty( $_POST['adresse'] ) )      $SET_ARRAY[] = 'adresse    = "' . mysql_real_escape_string($_POST['adresse']) . '"';

Så er du forholdsvis sikker på, at folk ikke forsøger at skabe problemer :)

--
Morten Barklund
Avatar billede barklund Nybegynder
22. april 2005 - 21:14 #6
Tark for points ;)
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