Archief - error in sql syntax

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Bram

Legacy Member
Oké, ik staar me dus al heel de tijd blind op volgende lijn code, die blijkbaar een error in de sql syntax heeft:

Code:
$query = "INSERT INTO wowspelers (username, server, character, faction, race, gender, level) VALUES ('$username', '$server', '$character', '$faction', '$race', '$gender', $level)";

Als ik die lijn echo, krijg ik:
Code:
INSERT INTO wowspelers (username, server, character, faction, race, gender, level) VALUES ('SveltestSword', 'Laughing Skull', 'Gekkerine', 'Horde', 'Blood Elf', 'Female', 80)
Hiermee is toch niks mis?

Bram

Legacy Member
Oops :p

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 'character, faction, race, gender, level) VALUES ('SveltestSword', 'Laughing Skul' at line 1


edit: ik merk net dat hij de laatste l van Laughing Skull afknipt. Kan het daar iets mee te maken hebben?

Tyfius

Legacy Member
Staan de types van uw database goed? Kan het bijvoorbeeld zijn dat uw character veld niet lang genoeg is om die string in op te slaan?

Ik moet toegeven dat ik niet veel miszie aan die query.

Bram

Legacy Member
Alle velden zijn Varchar, lengte 255 en level is een veld int met lengte 11 :s

passero

Legacy Member
is character geen reserved keyword en valt hij daarover? Kdenk dat je die column gaat moeten hernoemen. Het kan ook een andere column zijn... weet nie zeker

edit: Reserved words, daar staat character bij :)

MennovdH

Legacy Member
Volgens mij zijn username, server, character, en level allemaal reserved words.
Afhankelijk van je database server moet je ze quoten als:
- Mysql: `fieldname`
- Sql Server: [fieldname]

Andere database servers hebben vast ook wel hun syntax die je kan opzoeken.

Menno

Bram

Legacy Member
die character was het dus... veranderd naar char_name en alles werkt perfect.

Bedankt voor de link passero, wist niet dat er zoveel waren!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan