• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datum speichern

Witschi262

Blogger
Hallo,
ich möchte das Registrierdatum in einer Datenbank speichern.

Das Datum habe ich in eine Variable gepackt, und in die Datenbank eingefügt, allerdings steht in der Datenbank:
0000-00-00
Muss ich evtl. in der Datenbank Varchar verwendet, oder das Date behalten?

Danke für Hilfe!
 
Ist MySQL die Datenbank? Dann musst Du das Datum nicht in einer php-Variable speichern sondern kannst das direkt durch MySQL eintragen lassen. "NOW()" ist dafür gedacht.

Code:
INSERT INTO tabelle (registrierungsdatum) VALUES(NOW())
 
du könntest es auch so machen:
PHP:
$datum = time();
$date = mysql_query("INSERT INTO tabelle (datum) VALUES ('$datum')");

die spalte datum müsste dann ein int sein (15 zeichen max)

auslesen dann halt so:
PHP:
$abfrage = mysql_query("SELECT datum FROM tabelle WHERE benutzer = 'benutzername'");
$row = mysql_fetch_object($abfragen);
$datum = date("d.m.Y H:i", $row->datum);

ist vielleicht nicht die beste möglichkeit aber vllt hilft es dir ;)

mfg michaelos
 
Ist der Datentyp der Spalte auch DATETIME?

@michaelos
Hierfür ist der Datentyp TIMESTAMP vorgesehen, allerdings wird dieser standardmäßig bei zB UPDATE aktualisiert.

Der Nachteil an NOW() ist, dass wenn der MySQL-Server woanders als der Webserver steht (andere Zeitzone), die Zeiten nicht übereinstimmen.

Deshalb benutze ich:
PHP:
$date = date("Y-m-d H:i:s");
$sql = "INSERT INTO tabelle (spalte) VALUES ('{$date}')";
Datentyp der Spalte: DATETIME
 
Habe das ein bisschen anders gelöst, aber das tut nicht zur Sache.
Jetzt möchte ich aus der Datenabnk den Benutzer auslesen, und daraus schließen, welche Zeit sich bei dem Benutzer Befindet.
 
Danke Threadi.
Also, ich habe Vier Spalten in der Tabelle, ID, Name Passwort und Date, jetzt habe ich ca. 10 Registrierte Benutzer. Habe ich jetzt den Benutzernamen, möchte ich die Uhrzeit ermitteln, an der sie sich registriert haben.

Ich habe den Benutzernamen und das MD5 verschlüsselte Passwort.
 
Code:
SELECT DATE_FORMAT(registrierungsdatum,'%d.%m.%Y') AS datum, DATE_FORMAT(registrierungsdatum,'%H:%i') AS uhrzeit FROM tabelle WHERE username = 'nutzername'
 
Danke, aber, ich will jetzt nicht irgendwie "dumm" rüberkommen,
aber ohne Code kann ich nicht viel anfangen.
So richtig habe ich das nämlich noch nicht verstanden.
 
Da habe ich mich oben wohl Verschrieben, ich meinte, mit dem Code an sich kann ich nicht viel anfangen, wie ich den Jetzt einfügen soll...
Und eine erklärung dazu..
Mein Momentaner Code:
mysql_query("SELECT * FROM premium DATE_FORMAT(time,'%d.%m.%Y') AS datum, DATE_FORMAT(time,'%H:%i') AS uhrzeit FROM tabelle WHERE name = $_SESSION['loggedin']");

P.S.
Sehe grade, du hast 4444 Kommentare, habe ein Bild, kannse haben wenn de willst^^
 
Dein Statement hat einen falschen Aufbau. Du darfst FROM nur 1 Mal nutzen.

Code:
mysql_query("SELECT *, DATE_FORMAT(time,'%d.%m.%Y') AS  datum, DATE_FORMAT(time,'%H:%i') AS uhrzeit FROM premium WHERE name =  $_SESSION['loggedin']");

Bitte beschäftige dich näher mit dem grundsätzlichen Aufbau von SQL-Statements:
MySQL :: MySQL 5.1 Referenzhandbuch :: 13.2.7 SELECT
 
Zurück
Oben