mysql_query("UPDATE cupmatches SET status = 'oud', winnaar = '".$_POST['winnaar']."' WHERE `id`='".$_GET['id']."'")
en
mysql_query("UPDATE cupleden SET punten=punten+10 WHERE `id`='".$_GET['id']."'")
mysql_query("UPDATE cupmatches SET status = 'oud', winnaar = '".$_POST['winnaar']."' WHERE `id`='".$_GET['id']."'")
en
mysql_query("UPDATE cupleden SET punten=punten+10 WHERE `id`='".$_GET['id']."'")
Maar dat moet in 1x gebeuren.
Dit is de code waar het in hoort (tips zijn ook welkom):
mysql_query("UPDATE cupmatches, cupleden SET cupmatches.status = 'oud', cupmatches.winnaar = '".$_POST['winnaar']."', cupleden.punten=cupleden.punten+10 WHERE cupmatches.id='".$_GET['id']."' AND cupleden.id='".$_GET['id']."'")
mysql_query("UPDATE cupmatches, cupleden SET cupmatches.status = 'oud', cupmatches.winnaar = '".$_POST['winnaar']."', cupleden.punten=cupleden.punten+10 WHERE cupmatches.id='".$_GET['id']."' AND cupleden.id='".$_GET['id']."'")
Heb er alleen weinig (eerlijk gezegd helemaal geen) vertrouwen in dat het gaat lukken...
edit:
Krijg er al wat meer vertrouwen in.
Ik kijk net op dev.mysql.com en zie zoiets staan...
<?PHP
$sQuery = "UPDATE cupmatches, cupleden SET cupmatches.status = 'oud', cupmatches.winnaar = '".$_POST['winnaar']."', cupleden.punten=cupleden.punten+10 WHERE cupmatches.id='".$_GET['id']."' AND cupleden.id='".$_GET['id']."'";
if(!MySQL_Query($sQuery))
{
echo $sQuery;
} else
{
echo "Ok";
}
?>
<?PHP
$sQuery="UPDATE cupmatches, cupleden SET cupmatches.status = 'oud', cupmatches.winnaar = '".$_POST['winnaar']."', cupleden.punten=cupleden.punten+10 WHERE cupmatches.id='".$_GET['id']."' AND cupleden.id='".$_GET['id']."'";
het is toch duidelijk dat er iets mis is met cupleden, ofwel is het dat er geen spatie mag staan/backsticks moeten zijn (alhoewel dit nooit moet), ofwel dat 2 tabbellen niet mogen..
maar dat is toch niet de reden Ontani...
wrm geeft hij error vanaf ' cupleden ' ??
->omdat er daar ofwel een spatie teveel staat, ofwel kan het gewoon weg niet...
doe vanaf hier een formpje met action naar test.php?id=1 en daarmee een $_POST['winnaar'] maar de query komt in et scherm, word die wel echt uitgevoerd?
UPDATE cupmatches, cupleden SET cupmatches.status = 'oud', cupmatches.winnaar = 'blaat', cupleden.punten=cupleden.punten+10 WHERE cupmatches.id='1' AND cupleden.id='1'
Simon - 03/04/2006 21:05 (laatste wijziging 07/04/2006 10:53)
PHP expert
ik denk echt dat niemand mij hier wil geloven, probeer eens zonder die spatie, probeer backsticks( ` ) rond de tabellen, anders kan je gewoon niet tegelijkertijd...
doe het anders zo met 2 query's
$sQuery="UPDATE cupmatches, cupleden SET cupmatches.status = 'oud', cupmatches.winnaar = '".$_POST['winnaar']."', cupleden.punten=cupleden.punten+10 WHERE cupmatches.id='".$_GET['id']."' AND cupleden.id='".$_GET['id']."'";
UPDATE cupmatches, cupleden SET cupmatches.status = 'oud', cupmatches.winnaar = '', cupleden.punten=cupleden.punten+10 WHERE cupmatches.id='' AND cupleden.id=''
You have an error in your SQL syntax near ' cupleden SET cupmatches.status = 'oud', cupmatches.winnaar = '', cupleden.punte' at line 1
EDIT: Als ik backticks gebruik krijg ik dit:
UPDATE `cupmatches`,`cupleden` SET cupmatches.status = 'oud', cupmatches.winnaar = '', cupleden.punten=cupleden.punten+10 WHERE cupmatches.id='' AND cupleden.id=''
You have an error in your SQL syntax near '`cupleden` SET cupmatches.status = 'oud', cupmatches.winnaar = '', cupleden.punt' at line 1
http://www.phpf...amp;page=4
Webprogrammers hacking quide, dat stukje gaat over SQL injection.
Het zou eventueel ook iets zijn om het helemaal door te lezen:lamp: