Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 5%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 392 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

ghost2001

Doppel-As

Dabei seit: 30.12.2003

Beiträge: 101

 

1 Zum Seitenanfang

Montag, 23. Januar 2006, 10:41

SQL Update geht nicht

Hallo, was mache ich hier falsch?

Quellcode

1
2
3
4
5
6
7
8
9
$result = mysql_db_query($db_name,"SELECT * FROM gast ORDER BY zeit DESC;");
  $menge = mysql_num_rows($result);
  for($i=0;$i<$menge;$i++)
  {
    mysql_data_seek ($result, $i);
    $row = mysql_fetch_assoc($result);
    $zeitneu = mktime(substr($row['zeit'],8,2),substr($row['zeit'],10,2),0,substr($row['zeit'],4,2),substr($row['zeit'],6,2),substr($row['zeit'],0,4));
    $update = mysql_db_query($db_name,"UPDATE gast SET thetime=".$zeitneu." WHERE zeit='".$row['zeit']."';");
    echo $update."<br>";


Das Feld "zeit" ist ein Timestamp und ich möchte diesen in die Unixzeit umbiegen. Wenn ich mir $zeitneu mit der date() Funktion ausgeben lassen ist das auch richtig.

Was nicht geht ist das UPDATE der Datenbank. Ist an der SQL Anweisung etwas falsch? Das feld "thetime" ist als "double" definiert.

Würde mich über Hilfe freuen.

Gruß Steve
 

abi2000mvag

Routinier

Dabei seit: 09.11.2002

Beiträge: 390

 

2 Zum Seitenanfang

Dienstag, 24. Januar 2006, 16:52

Hallo,

schau mal ob's vielleicht daran liegt:

"Unter PHP - Timestamp wird eine Zeitspanne verstanden, die man als UNIX-Epoche bezeichnet wird. Dies ist Zeit in Sekunden, die am 01.01.1970 begann. Den UNIX-Zeitstempel wird über die Funktion time() ermittelt. Die Ausgabe könnte dann so aussehen: 927441000.

Diese Ausgabe ist aber nicht das, was man unter einem MySQL - Zeitstempel meint.
Der MySQL - Timestamp ist eine Eigenschaft einer Spalte, in der Zeit in Form JJJJMMDDhhmmss abgespeichert wird. Dabei besitzt diese Spalte eine Sonderfunktion: Autoaktualisierung, sobald ein Datensatz geändert wurde.

Wozu das gut ist: dies ist eine Kontrolle, wann ein bestimmter Datensatz geändert wurde. Man sollte z.B. diese Spalteneigenschaft nicht als "Erstellungsdatum" verwenden, da die Gefahr bestünde, bei einer Aktualisierung (UPDATE) ein falsches "Erstellungsdatum" zu erhalten."
pxlcore
The Pixel Adventure Is Just Beginning