Hallo,

Ik ben bezig een pagina te maken waarin members hun gegevens kunnen aanpassen, maar het wil niet lukken.
Ik krijg deze fout melding;

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 user_id = '1'' at line 1

Dit is mijn account.php

<?php
$sql = "SELECT name, achternaam, email, username, background FROM users WHERE user_id = '".mysql_real_escape_string($_SESSION['user_id'])."' ";
$result = mysql_query($sql);
$rows = mysql_fetch_assoc($result);

if(isset($_SESSION['logged']) && $_SESSION['logged'] == 1)
{
if (!isset($_POST['submit'])) {
?>
<form action="account.php" method="post">
<table>
<tr>
<td><h1>Account</h1></td>
</tr>
<tr>
<td><p>Gebruikersnaam:</p></td> <td><p><b><?php echo $rows['username'] ?></b></p></td>
</tr>
<tr>
<td><p>Email:</p></td> <td><p><b><?php echo $rows['email'] ?></b></p></td>
</tr>
<tr>
<td><p>Naam:</p></td> <td><p><input type="text" name="name" value="<?php echo $rows['name'] ?>" /></p></td>
</tr>
<tr>
<td><p>Achternaam:</p></td> <td><p><input type="text" name="achternaam" value="<?php echo $rows['achternaam'] ?>" /></p></td>
</tr>
<tr>
<td><p>Wachtwoord:</p></td> <td><p><input type="password" name="password" /></p></td>
</tr>
<tr>
<td><p>Achtergrond:</p></td> <td><p><select name="wallpaper">
<option value="../css/background1.css">OS X Snow Leopard</option>
<option value="../css/background2.css">OS X Lion</option>
</select></p></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Pas aan"></td>
</tr>
</table>
</form>
<?php
}
else
{
$name = form($_POST['name']);
$achternaam = form($_POST['achternaam']);
$password = md5($_POST['password']); // Encrypts the password.
$wallpaper = form($_POST['wallpaper']);

if (($password == "") || ($name == "")) { // Checks for blanks.
echo("<a>Niet alle velden zijn ingevuld!</a>");
}

mysql_query("UPDATE users SET name = '".$name."', achternaam = '".$achternaam."', WHERE user_id = '".mysql_real_escape_string($_SESSION['user_id'])."' ") or die (mysql_error());
echo "<a>Het aanpassen is gelukt!</a>";

}}

else
{
echo '<p>Je moet ingelogd zijn om deze pagina te bekijken.</p>';
}
?>

Iemand een idee?
Alvast bedankt.

Toevoeging op 15/03/2011 23:02:40:

Laat maar,
ik heb het even grondig doorgekeken en de fout was een , (komma) bij SET name = '".$name."', achternaam = '".$achternaam."',
Die laatste komma mag daar niet staan.
Bedankt, ik zal er thuis een naar kijken.

Toevoeging op 17/03/2011 12:34:11:

Maar nou kijkt hij niet naar of het email adres is gebruikt door de gebruiker zelf. Dus dan krijg je altijd een melding, toch?
Nope.

Je moet zien dat je dat enkel bekijkt in andere records (= een andere id)

Van daar:

WHERE id != $id

Die ! betekent "niet"

Reageren