Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem bei Update
Warum wird der Update Befehl nicht erfolgreich ausgeführt? $num_rows gibt 1 zurück!
$query = "Select pwd From user WHERE nickname='$username'";
$result = mysql_query($query,$link);
$num_rows = mysql_num_rows($result);
$query = "UPDATE user SET lastdate=date('d.m.Y'), lasttime=date('H:i') WHERE nickname='$username'";
$result = mysql_query($query,$link);
if (!$result) {die ("$num_rows");}
was soll das denn machen??
$query = "Select pwd From user WHERE nickname='$username'";
$result = mysql_query($query,$link)
or die ("$query: ". mysql_error());
$num_rows = mysql_num_rows($result);
$query = "UPDATE user SET lastdate=date('d.m.Y'), lasttime=date('H:i') WHERE nickname='$username'";
$result = mysql_query($query,$link)
or die ("$query: ". mysql_error());
echo 'passende Zeilen: ', $num_rows, '
veränderte Zeilen: ', mysql_affected_rows($result);
nicht unruihig werden, wenn unter "veränderte Zeilen" die Null steht ... heißt halt nur, dass nix geändert wurde.
und wenn tatsächlich ein Fehler auftritt, sagt dir "mysql_error", welcher es ist.
Nachtrag: Ich seh es!
date ist in mysql keine Funktion, sondern "nur" ein Datentyp. So muss das aussehen:
$query = "UPDATE user SET lastdate=".date('d.m.Y').", lasttime=".date('H:i')." WHERE nickname='$username'";
oder
$query = "UPDATE user SET lastdate=date_format(now, ('%d.%m.%Y'), lasttime=date_format(now(), '%H:%i') WHERE nickname='$username'";
http://www.mysql.de/documentation/mysql/bychapter/manual.de_Reference.html#Date_and_time_functions
Das Feld lastdate (varchar(10)) mit dem aktuellen Datum (20.08.2002) und das Feld lasttime varchar(5) mit der aktuellen Zeit (23:24) updaten!
Die Felder müssen auch unbedingt geändert werden!
hmm ... scheint als hätten sich mein edit und dein Post überschnitten.
Probier mal meine Dinger da oben (unter Einbeziehung des Nachtrags) aus, und sag dann noch mal bescheid.
Funktioniert beides nicht!
You have an error in your SQL syntax near ' lasttime=date_format(now(), '%H:%i') WHERE nickname='T'' at line 1
Bei
$query = "UPDATE user SET lastdate=date_format(now(), ('%d.%m.%Y'), lasttime=date_format(now(), '%H:%i') WHERE nickname='$username'";
kommt:
UPDATE user SET lastdate=date_format(now(), ('%d.%m.%Y'), lasttime=date_format(now(), '%H:%i') WHERE nickname='T': You have an error in your SQL syntax near ' lasttime=date_format(now(), '%H:%i') WHERE nickname='T'' at line 1
und bei
$query = "UPDATE user SET lastdate=".date('d.m.Y').", lasttime=".date('H:i')." WHERE nickname='$username'";
kommt:
UPDATE user SET lastdate=20.08.2002, lasttime=23:37 WHERE nickname='T': You have an error in your SQL syntax near '.2002, lasttime=23:37 WHERE nickname='T'' at line 1
MIt den ' Strichen funzt es:
$query = "UPDATE user SET lastdate='".date('d.m.Y')."', lasttime='".date('H:i')."' WHERE nickname='$username'";
und wenn du hier:
$query = "UPDATE user SET lastdate=date_format(now(), ('%d.%m.%Y'), lasttime=date_format(now(), '%H:%i') WHERE nickname='$username'";
noch die öffnende Klammer vor '%d.%m.%Y' wegnimmst, funktioniert das auch:
$query = "UPDATE user SET lastdate=date_format(now(), '%d.%m.%Y'), lasttime=date_format(now(), '%H:%i') WHERE nickname='$username'";
|
|