Fout SQL Syntax
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 'WHERE naam = 'Joey4'' at line 1
Code:
if (isset($_POST['submituser']))
{
$query="UPDATE gebruikers SET naam WHERE naam = '".$_POST["naam"] ."'";
$result = mysql_query($query) or die ("FOUT: " .mysql_error());
if ($result){
echo "Gebruiker bewerkt!";
echo "<img src='../images/loadbar.gif'></img>";
echo "<meta http-equiv=\"refresh\" content=\"3; url=index.php\" />";
}
}
Wat ben ik vergeten? of wat heb ik verkeerd gedaan? :)
$query="UPDATE gebruikers SET naam WHERE naam = '".$_POST["naam"] ."'";
in
$query="UPDATE gebruikers SET = '".$_POST["naam"] ."' naam WHERE naam = '".$_POST["naam"] ."'";
Nog steeds dezelfde error zelfs als ik naam weghaal:
$query="UPDATE gebruikers SET = '".$_POST["naam"] ."' naam WHERE naam = '".$_POST["naam"] ."'";
in $query="UPDATE gebruikers SET = '".$_POST["naam"] ."' WHERE naam = '".$_POST["naam"] ."'";
UPDATE gebruikers SET naam = 'Arjan Kapteijn' WHERE id = 1337
Dingen als
UPDATE gebruikers SET = 'Arjan Kapteijn' WHERE naam = 'Arjan Kapteijn'
&
UPDATE gebruikers SET naam WHERE naam = 'Arjan Kapteijn'
Werken natuurlijk niet...
En verder mag een $_POST nooit zo in een query worden geslingerd, iedere halve gare kan daarmee jouw website hacken. Al is dit geen hacken meer, gewoon een openstaande deur intrappen.
Doe dus iets aan beveiliging, mysql_real_escape_string().
Bedankt :) Arjan Kapteijn :) Je hebt helemaal gelijk!! Heb gelijk id erbij gedaan en PgFrank, daar zal ik op letten. Bedankt voor de tip