hee ik heb een scriptje waar een fout in zit, zelf denk ik dat het weer zoiets is als een punt of een puntkoma ofzo maar toch.
code:

<?php
	$query="UPDATE items SET
		top = '". $top[$id3] ."', 
		left = '". $left[$id3] ."' 
		WHERE id='" .$id3. "'";
	$result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>


browser:

FOUT: 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 'left = '670' WHERE id='1'' at line 3


ik heb al nagekeken dat alle variabelen kloppen...

alvast bedankt. :-)

<?php //kleuren, handiger voor fouten
$query="UPDATE items SET
        top = '". $top[$id3] ."', 
        left = '". $left[$id3] ."' 
        WHERE id='" .$id3. "'";
    $result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>
ok heb ik ook effe veranderd. :-)
het lijkt erop dat LEFT een gereserveerde naam is, zal wel vanwege LEFT JOIN zijn.

Probeer een andere veldnaam.
left is geen geldige naam voor een kolom..
Het id is meestal een integer, dus moet niet tussen quotjes. Dus:
<?php
$query="
  UPDATE
    items
  SET
    top  = '" . $top[$id3]  ."', 
    left = '" . $left[$id3] ."' 
  WHERE
    id=" . $id3;
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>
Kees schreef op 24.05.2009 15:56
Het id is meestal een integer, dus moet niet tussen quotjes. Dus:
<?php
$query="
  UPDATE
    items
  SET
    top  = '" . $top[$id3]  ."', 
    left = '" . $left[$id3] ."' 
  WHERE
    id=" . $id3;
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>

Het is beter van wel ;)
Gewoon overal quotes omzetten
En de reden is?

Een integer is beter niet omringd door ' en dit in gelijk welke taal. Ik slik mijn woorden in als jij een deftig tegenargument kunt bewijzen.

Aangezien top en left ook integers zijn kan het dus zo:
<?php
$query="
UPDATE
items
SET
top = " . $top[$id3] .",
left = " . $left[$id3] ."
WHERE
id=" . $id3;
?>
Maar zoals ik al zei,
left is geen geldige naam voor een kolom,
het is trouwens vreemd dat je deze kolom al hebt kunnen aanmaken in je tabel.
Waarschijnlijk heeft hij hem aangemaakt met phpMyAdmin, die overal backticks omheen mikt.
En dat is dus niet slim van phpMyAdmin.
Dan kan je het alsnog gebruiken. gereserveerd of niet. dan gebruik je maar backtics in je query. Al zie ik geen reden om niet even gewoon van naam te veranderen. Maar anders kan dit. of de almachtige [ ] gebruiken.

Reageren