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

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQL - fejl hvor, hvordan?
Fra : Birger Sørensen


Dato : 09-10-08 12:22

Har en tabel med persondata, som jeg ikke får lov at opdatere...

tabellen er defineret sådan:
id mediumint(9) Nej
navn varchar(100) Nej
addr varchar(50) Nej
post varchar(4) Nej
by varchar(50) Nej
mail varchar(120) Nej
tlf varchar(11) Nej
tlf_x varchar(11) Nej
fax varchar(11) Nej
mobil varchar(11) Nej
kommentar varchar(50) Nej
billede varchar(80) Nej
(Nej = NOT NULL)

query'en ser sådan ud:
UPDATE ll_personer SET navn='Franz Jonsson', addr='Havevej',
post='9999', by='Hjemby', mail='dsdfds@ingen.dk', tlf='12 34 56 78',
tlf_x='', fax='87 65 43 21', mobil='55 66 77 88', kommentar='Ingen
hjemme efter 17:00', billede='' WHERE id='2' LIMIT 1

Og resultatet er:
You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near
'by='Hjemby', mail='dsdfds@ingen.dk', tlf='12 34 56 78', tlf_x='',
fax='87 65 43 ' at line 1

værdier kommer fra variable, og id=2 eksisterer selvfølgelig.
PHP funktionen der skulle opdatere ser sådan ud:
global $link;
$query = "UPDATE ll_personer SET navn='$nv', addr='$ad', post='$po',
by='$by', mail='$em', tlf='$tl', tlf_x='$tf', fax='$fx', mobil='$mo',
kommentar='$ko', billede='$bi' WHERE id='$id' LIMIT 1";
return mysql_query( $query, $link)."\n$query";

I ovenstående, er værdier i øvrigt det samme, som allerede står i
tabellen...

Nogen der har en forklaring, eller kan se hvad der er galt?

Birger



 
 
Michael Rasmussen (09-10-2008)
Kommentar
Fra : Michael Rasmussen


Dato : 09-10-08 12:42

Birger Sørensen skrev:

> Og resultatet er:
> You have an error in your SQL syntax; check the manual that corresponds
> to your MySQL server version for the right syntax to use near
> 'by='Hjemby' [...]

By er et reserveret ord, j.f. <URL:
http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html >

Jeg ville ændrer feltets navn til f.eks. Bynavn i stedet, men du kan
også omgå problemet ved at indsætte navnet sådan: `by`

Det er, så vidt muligt, bedst at undgå brug af reserverede ord.

--
Michael Rasmussen
------------------------------------------------------------------------
»If you don't fail at least 90 percent of the time,
you're not aiming high enough«, Alan Kay.

Birger Sørensen (09-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 09-10-08 13:03

Efter mange tanker skrev Michael Rasmussen:
> Birger Sørensen skrev:
>
>> Og resultatet er:
>> You have an error in your SQL syntax; check the manual that corresponds to
>> your MySQL server version for the right syntax to use near 'by='Hjemby'
>> [...]
>
> By er et reserveret ord, j.f. <URL:
> http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html >
>
> Jeg ville ændrer feltets navn til f.eks. Bynavn i stedet, men du kan også
> omgå problemet ved at indsætte navnet sådan: `by`
>
> Det er, så vidt muligt, bedst at undgå brug af reserverede ord.

Selvfølgelig..

Tusind tak - jeg har stirret mig helt blind :D

Birger



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste