Fehler beim Eintragen einer Zufallszahl

Grunge

Erfahrenes Mitglied
Hi,

woran kann es liegen, das er mir sagt:

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 'key='SYxS9Iu7pn5yFcgGuGhKj163S' WHERE nick='test'' at

wenn ich die zufallszahl so generie und eintrage:

PHP:
$acceptedChars = 'azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789';
  $max = strlen($acceptedChars)-1;
  $code = null;
  for($i=0; $i < 25; $i++) {
  $code .= $acceptedChars{mt_rand(0, $max)};
}

$sql="UPDATE users SET key='".$code."' WHERE nick='".$_POST['nick']."'";
mysql_query($sql) or die(mysql_error());
 
So sehe ich gerade keinen.
Aber ich hab schon oft erlebt, dass manche Spaltennamen wie MySQL reservierte Wörter heißen.
"key" könnte so eines sein, weiß es aber nicht
mach einfach mal `key`, das sollte das Problem beheben, wenn es denn wirklich ein reserviertes Wort ist.
 
Diese Anweisung klapp bei mir:
PHP:
$sql = "UPDATE `users` SET `key` = '".$code."' WHERE `name` = '".$_POST['nick']."'";
EDIT:
Wie immer zu lahm ;)
 
Zuletzt bearbeitet:
Man sollte sowieso die Spaltennamen in `` schreiben, dann kann sowas gar nicht erst passieren. Noch besser ist es aber aufjedenfall auf reservierte Wörter zu verzichten (auch wenn es hier nur ein Versehen war)
 
Zurück