Archief - SQL: error in 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
Code:
$url = $file['name'];
$pquery = "INSERT INTO portfolio SET title = '$file_title', url = '$url', desc = '$file_descr', author = '$author', date = '$file_date'";
if(mysql_query($pquery)) {
echo 'Upload succesful!';
} else {
echo mysql_error();
}
dat geeft echter
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 'desc = 'test', author = 'Bramme', date = '1166107259'' at line 1

Kan iemand me even helpen?
De volledige code kan je ook hier eens bekijken: http://bram.thomashancock.net/admin.phps

DeFlup

Legacy Member
de code die je gebruikt is eerder voor een update.

Je query zou er zo moeten uitzien:

$pquery = "INSERT INTO portfolio (title, url, desc, author, date) Values('$file_title', '$url', '$file_descr', '$author', '$file_date')";

en hetgeen jij gebruikte kan je gebruiken om gegevens up te daten als volgt:

$pquery = "UPDATE portfolio SET title = '$file_title', url = '$url', desc = '$file_descr', author = '$author', date = '$file_date' WHERE portfolioID='$pID'";

orez

Legacy Member
DeFlup zei:
de code die je gebruikt is eerder voor een update.

Je query zou er zo moeten uitzien:

$pquery = "INSERT INTO portfolio (title, url, desc, author, date) Values('$file_title', '$url', '$file_descr', '$author', '$file_date')";

absoluut niet !

"INSERT INTO tabel SET veld = waarde" is correcte SQL, De Microsoft Databases (SQL Server, Express, Access) laten dit niet toe en verplichten je met de values versie te gaan werken.

zoals welp zegt, het enige probleem is de "desc" kolom, desc is namelijk een gereserveerde functie, ORDER BY ... DESC/ASC
Je kan desc wel degelijk gebruiken, maar dan moet het tussen van die speciale quotes nl:

Code:
`desc`

dan zal het wel werken met desc als kolomnaam, maar natuurlijk is het beter van dergelijke namen zoveel mogelijk te vermijden.

DeFlup

Legacy Member
orez zei:
absoluut niet !

"INSERT INTO tabel SET veld = waarde" is correcte SQL, De Microsoft Databases (SQL Server, Express, Access) laten dit niet toe en verplichten je met de values versie te gaan werken.

ok, 't werkt wel, maar waarom die set gebruiken als het niet algemeen aanvaard wordt? Mja, zo heeft elks zijn gewoontes zeker. Ik ben het gewoon van die values te gebruiken.
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