/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Mærkeligt problem med MySQL, part 2
Fra : Jacob Volstrup


Dato : 17-02-02 00:51

Hej,

Jeg har tidligere haft skrevet til gruppen, da jeg havde et mærkeligt
problem, med et felt i min database, som ikke blev korrekt opdateret. Efter
at have gransket i koden længe, har jeg fundet ud af at fejlen må ligge i
følgende kode, selvom jeg ikke umiddelbart kan se fejlen

function OpdaterKundeData ($id, $navn, $adresse, $postnr, $email, $telefon,
$mobil) {
global $sidedata;
$sql = "UPDATE kundedata_kunder
SET navn = '$navn' AND adresse = '$adresse'
AND postnr = '$postnr' AND email = '$email' AND tlf = '$telefon'
AND mobil = '$mobil' WHERE id = '$id'";
mysql_query($sql);
if (mysql_errno()) {
echo ("Der opstod en fejl (" . mysql_error() . ")");
return 0;
} else {
return 1;
}
}

Hvis jeg ændrer i query'en, vil det blot være det første nævnte felt, som
får tildelt værdien 0 (NULL).
Jeg har en formodning om at det er min update-query, som jeg laver fejl i,
selvom jeg ikke lige kan se fejlen.

Håber meget at andre måske kan se det.

--
Mvh Jacob Volstrup
- www.netspecialisten.dk -



 
 
Mogens Meier Christe~ (17-02-2002)
Kommentar
Fra : Mogens Meier Christe~


Dato : 17-02-02 02:22

"Jacob Volstrup" <volstrup@avanceret.dk> wrote in message
news:wnCb8.17625$B43.988043@news000.worldonline.dk...
>Efter
> at have gransket i koden længe, har jeg fundet ud af at fejlen må ligge i
> følgende kode, selvom jeg ikke umiddelbart kan se fejlen

Hvad er fejlmeddelelsen/symptomet?

> Hvis jeg ændrer i query'en, vil det blot være det første nævnte felt, som
> får tildelt værdien 0 (NULL).

Undskyld, det forstod jeg ikke!?

> Jeg har en formodning om at det er min update-query, som jeg laver fejl i,
> selvom jeg ikke lige kan se fejlen.

Er du *SIKKER* på at der skal være AND imellem alle de colums du vil have
SET'et lig variable ? (*HINT* *HINT*) ;)

Se evt. http://www.mysql.com/doc/U/P/UPDATE.html ;)


--
Mvh. Mogens
B.Sc. i datalogi. Søger IT-job på Fyn!
www.momech.dk






Jacob Volstrup (17-02-2002)
Kommentar
Fra : Jacob Volstrup


Dato : 17-02-02 12:11

> Hvad er fejlmeddelelsen/symptomet?

Det var såmænd bare at værdien blev fjernet i det første felt jeg prøvede på
at opdatere...

> > Jeg har en formodning om at det er min update-query, som jeg laver fejl
i,
> > selvom jeg ikke lige kan se fejlen.
> Er du *SIKKER* på at der skal være AND imellem alle de colums du vil have
> SET'et lig variable ? (*HINT* *HINT*) ;)

Problemet har var da vist primært at det er for lang tid siden jeg sidst har
arbejdet med UPDATE, men alligevel troede at jeg kunne det udenad. Jeg blev
nok også narret til at tro at query'en var korrekt, eftersom MySQL ikke kom
med nogen fejlmeddelelser.
Men efter jeg fjernede 'AND', og erstattede det med ',', så virker det bare.

Mange tak for hjælpen

--
Mvh Jacob Volstrup
- www.netspecialisten.dk -



Mogens Meier Christe~ (18-02-2002)
Kommentar
Fra : Mogens Meier Christe~


Dato : 18-02-02 03:49

"Jacob Volstrup" <volstrup@avanceret.dk> wrote in message
news:lcMb8.17933$B43.1007368@news000.worldonline.dk...

> > Er du *SIKKER* på at der skal være AND imellem alle de colums du vil
have
> > SET'et lig variable ?


> Problemet har var da vist primært at det er for lang tid siden jeg sidst
har
> arbejdet med UPDATE, men alligevel troede at jeg kunne det udenad.

Kender det! :)

>Jeg blev nok også narret til at tro at query'en var korrekt,
>eftersom MySQL ikke kom med nogen fejlmeddelelser.

En klassiker i alle sprog uden en BOOLEAN-type :(

F.eks. 2 AND 17 burde ikke give mening...

> Mange tak for hjælpen

Så lidt, håber det var i orden jeg drillede en anelse :)


--
Mvh. Mogens
B.Sc. i datalogi. Søger IT-job på Fyn!
www.momech.dk



Søg
Reklame
Statistik
Spørgsmål : 177505
Tips : 31968
Nyheder : 719565
Indlæg : 6408554
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste