Ik heb een veld genaamd read in de tabel spelberichten. Daarin is de standaart waarde 'n'.
Die moet na het openen van pagina-x veranderen 'y'. Na door een aantal iflussen zijn gehaald om te kijken of de goede gebruiker het bericht wel leest enz... zet ik deze query:

<?php

$sql3 = "UPDATE spelberichten SET read = 'y' WHERE id = '".$id."'";
$res3 = mysql_query($sql3);
if(!$res3)
{
echo "Databasedata ophalen mislukt: ".mysql_error();

exit();
}

?>

Ik krijg nu de volgende error:

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 'read = 'y' WHERE id = '27' ' at line 1

Wie kan mij vertellen wat ik het best kan doen zodat het wel werkt. Ik heb uitgebreid gezocht maar het probleem niet kunnen vinden.

Dit is de table spelberichten:

CREATE TABLE `spelberichten` (
`id` int(20) NOT NULL auto_increment,
`bericht` longtext NOT NULL,
`onderwerp` varchar(50) NOT NULL default '',
`adres` varchar(15) NOT NULL default '',
`afkomst` varchar(15) NOT NULL default '',
`datumtijd` varchar(20) default NULL,
`archief` char(1) NOT NULL default 'n',
`read` char(1) NOT NULL default 'n',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=28 ;
WHERE id = ".$id."
ipv
WHERE id = '".$id."'

In dit geval ga ik er vanuit dat ID een INT veld is, wat me wel zo logisch lijkt.
Het is een integer. Maar het werkt nog niet. Ik heb nu dit:


<?php
$sql3 = "UPDATE spelberichten SET read = 'y' WHERE id = ".$id."";
$res3 = mysql_query($sql3);
?>

EDIT: sorry vorige reply nog niet gelezen.
Oke bedankt jongens....easy foutje achteraf, maarjah als je mysql noobje bent(A)
`datumtijd` varchar(20) default NULL,

En wederom springen mij de tranen in de ogen... Een varchar (waarom eigenlijk VARchar wanneer de lengte een vast gegeven is?) is geen datum, die kun je daar met goed fatsoen ook niet in opslaan. Je gebruikt een (var-)char alleen wanneer je graag veel problemen en fouten in je systeem wilt hebben. Anders gebruik je wel een DATETIME...

Tip: Kijk dan ook eens naar hoofdstuk 12.5 om een idee te krijgen van de vele datum en tijd functies die de database heeft. Ga niet met datums en tijden lopen kloten in php, dat levert meestal meer problemen dan oplossingen op.

Reageren