okee ik heb een klein webwinkel script waarbij ik in een database bijhoud wat er in het winkelwagentje zit.
als een maat nog niet in het winkelwagentje zit wordt hij met insert toegevoegd.
zit hij er al wel in moet hij geupdate worden:

$sql3 = "UPDATE Winkelwagen SET aantal = '$nieuwaantal' AND subtotaal = '$nieuwtotaal' WHERE productnr = '$productnummer' AND maat='$maat' AND usersip='$ipadres'";
$result3 = mysql_query($sql3) or die (mysql_error());
if (!$result3)
{echo 'Fout: record is niet bijgewerkt.<BR>';
echo 'query: '.$sql3.'<BR>';
echo 'SQL returncode: '.mysql_error();}
else{ print"nieuw aantal: $nieuwaantal nieuw subtotaal:$nieuwtotaal<br>";

maar dit lukt niet. als ik hem test kloppen de variabelen wel. maar het aantal wordt nul evenals het subtotaal.

Wat doe ik verkeerd?
Het is UPDATE ....SET ...=... , (komma) ...=... , enz. Dus geen AND ertussen.
Een paar tips:
- Gebruik liever sessies voor winkelwagentjes. Een IP is niet aan een PC gebonden, dus dit kan problemen opleveren binnen een netwerk. Kom niet met het smoesje aan dat dit nooit gebeurt ;-)

- Gebruik logische variabelen, Als Pietje mee gaat werken, zegt $sql3 hem nog wat? En het is ook gevaarlijk, straks zit er een gevaarlijke selete-query achter terwijl je je vergist tussen $query 4 en $query5. Even je lijstje met producten openen, en weg zijn je producten.

- En dan de befaamde 'variabelen buiten quotes' ;-)

Reageren