Ik krijg de volgende errors bij mijn php script dat MySQL data zou moeten updaten...
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 '(title, descr, categorie, cost, author, demo, authorlink, featured) VALUES ('Rai' at line 1
edit_template_code.php:
<?php
include '../config.php';
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);
$nr = $_POST['number'];
$sql="UPDATE template SET (title, descr, categorie, cost, author, demo, authorlink, featured)
VALUES
('$_POST[title]','$_POST[descr]','$_POST[categorie]','$_POST[cost]','$_POST[author]','$_POST[demo]','$_POST[authorlink]','$_POST[featured]') WHERE id = $nr";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "Template Updated!!";
mysql_close($con)
?>
Begin allereerst met het buiten quotes halen van je variabelen. Plaats vervolgens deze regels aan het begin van je script:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
?>
En los dan de fouten op die gegeven worden.
Om te beginnen hoort $_POST[number] namelijk $_POST['number'] te zijn (let op de quotes), 'number' is immers een string en geen constante. Zie ook de eerste foutmelding die je krijgt...
Echo tenslotte als er een fout opstreedt in je query, ook altijd de query die je uitgevoerd hebt. Dan zie je wat er uiteindelijk naar de database gegaan is en wellicht ook al direct waar het fout gaat.
Dat is dan ook de enige juiste syntax voor een UPDATE query. Nu enkel nog die variabelen buiten quotes halen, dan ziet het er alweer een stuk beter uit...