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 ' `visible` = 1 WHERE `pages`.`id` = 3' at line 1

de code voor de SQL update:

//$query = "UPDATE pages SET
// menu_name = '{$menu_name}',
// position = {$position},
// visible = {$visible},
// content = '{$content}'
// WHERE id = {$id}";
$sql = "UPDATE `pages` SET `menu_name` = '{$menu_name}', `content` = '{$content}', `position` = {$position}, `visible` = {$visible} WHERE `pages`.`id` = {$id};";
$result = Mysql_query($sql);

de query die van komentaar voorzien is, heb ik zelf geschreven, de andere heb ik gemaakt met phpadmin, en dan aangepast aan mijn script. beide geven dezelfde fout. Ik ben nog niet zolang bezig met php, Zou iemand mij kunnen helpen?
Haal de backtics er eerst eens uit en de {..} haken ook. Verder de $vars nog even buiten de quotes en het wordt al wat beter.

Edit: En denk aan sql-injection.
<?php
$sql = "UPDATE pages
SET menu_name = '" . mysql_real_escape_string($menu_name) . "',
content = '" . mysql_real_escape_string($content) . "',
position = '" . mysql_real_escape_string($position) . "',
visible = '" . mysql_real_escape_string($visible) . "'
WHERE id = '" . mysql_real_escape_string($id) . "'";
?>
bedankt!

De real escape heb ik in een functie staan die nagaat of phpversion =>4.3.0,.. real_escape zou volgens de cursus die ik gebruik enkel op systemen met php4.3 en hoger werken. maar in de toekomst ga ik hier wel geen rekening mee houden! en gewoon jouw manier gebruiken.

Nogmaals dank!!

Reageren