15. oktober 2007 - 11:15Der er
8 kommentarer og 1 løsning
Update driller
Hej. Jeg har et date-felt i en tabel med mange poster, som skal updateres. Jeg definerer en datovariabel i php, hvor indholdet skal opdateres i det nye dato-felt. Men jeg får samme dato i samtlige poster. Jeg skriver sådan her: while..... echo "Betaldato1 ".$betaldato1."<br>"; mysql_query("UPDATE kalender_aftale SET frist_fak1 = '$betaldato1'"); Det underlige er, at når jeg viser datoen via echo, så vises datoen korrekt, men i MYSQL er det en anden dato og i øvrigt den samme i alle poster.
Punkt 1: Du mangler vist en WHERE - det der opdaterer alle rækker. Punkt 2: Er dit datoformat rigtigt? (åååå-mm-dd el. åååå-mm-dd tt:mm:ss, afhængigt af felttype)
Feltettypen er date, og datoformattet er YYYY-mm-dd. Er ret sikker på, at det er korrekt. Når jeg echoer datovariablen er datoen fx. "2007-06-12".
Hvad skal jeg med Where. Jeg har andre opdateringer som virker, og her bruger jeg ikke WHERE.
Jeg løber jo samtlige poster igennem med while og opdaterer feltet frist_fak1 med indholdet i variablen $betaldato1. Jeg tænkte om det har noget med anvendelsen af apostrofer eller lignende.
Du skal have en WHERE fordi du ellers beder MySQL om at opdatere alt - også det du ikke skulle have opdateret, fordi det ikke hørte under din while (den kender MySQL jo intet til).
Apostroffer skal der være, så det er ikke det.
Det ville måske hjælpe om du giver et eksempel på hvad der skulle have været ind, og hvad der rent faktisk kom ind.
Du har fuldstændig ret - undskyld min påstand ovenfor. Det var netop nogle opdateringer, hvor indholdet skulle være ens i alle poster. Nu virker det - jeg siger mange tak. Sendt venligst et svar. :-))
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.