preko
Erfahrenes Mitglied
Ich habe mein Script ein wenig geändert:
In den ersten beiden Zeilen definiere ich für $datumzeit einen Timestamp und lasse ihn zur Kontrolle direkt ausgeben mit der Darstellung: 25 Jun 2004, 16:30:35, was auch der derzeitigen Zeit entspricht.
Die "datumzeit"-Spalte in der MySQL Datenbank (s. angehängte GIF-Datei mit Screenshot) ist als Primärschlüssel definiert.
Wenn ich also den ersten Eintrag ins Gästebuch mache, trägt er alles ohne Murren ein - den Timestamp, der zuvor per "echo" korrekt ausgegeben wird, erscheint in der Datenbank plötzlich mit dem Wert: 00000000000000!
Wenn ich nun einen zweiten Eintrag machen möchte, bekomme ich folgende Fehlermeldung raus:
Auch soweit klar - der Primärschlüssel darf keine zwei identischen Werte enthalten - in diesem Falle: 00000000000000.
1. Aber warum trägt er in die MySQL Datenbank diesen Wert ein und nicht den zuvor angezeigten Timestamp?
2. Warum kann ich die Spalte "datumzeit" nicht auf "Not Null" setzen?
Was habe ich übersehen?
Beste Grüße,
Preko
Code:
$datumzeit = time();
echo date("d M Y, H:i:s",$datumzeit);
$db = @mysql_connect($host, $user, $password)
or die ("Verbindung mit MySQL-Server fehlgeschlagen!");
@mysql_select_db($database, $db)
or die ("Verbindung mit Datenbank fehlgeschlagen!");
$sql_insert="INSERT INTO
`gaestebuch`
SET
`ip` = '".$ip."',
`datumzeit` = '".mysql_escape_string('$datumzeit')."',
`vorname` = '".mysql_escape_string($vorname)."',
`nachname` = '".mysql_escape_string($nachname)."',
`email` = '".mysql_escape_string($email)."',
`text` = '".mysql_escape_string($text)."'
";
$result = mysql_query($sql_insert, $db);
if ($result) {
echo "<p>Ihr Eintrag wurde soeben erfolgreich ins Gästebuch eingetragen.\n</p>";
}
else {
echo "<p>Bei dem Versuch den Datensatz einzufügen, ist ein Fehler aufgetreten.</p>\n Fehler-Nummer: <strong>".mysql_errno($db)."</strong><br />\nFehler-Ausgabe:<strong>".mysql_error($db)."</strong>";
}
mysql_close($db);
In den ersten beiden Zeilen definiere ich für $datumzeit einen Timestamp und lasse ihn zur Kontrolle direkt ausgeben mit der Darstellung: 25 Jun 2004, 16:30:35, was auch der derzeitigen Zeit entspricht.
Die "datumzeit"-Spalte in der MySQL Datenbank (s. angehängte GIF-Datei mit Screenshot) ist als Primärschlüssel definiert.
Wenn ich also den ersten Eintrag ins Gästebuch mache, trägt er alles ohne Murren ein - den Timestamp, der zuvor per "echo" korrekt ausgegeben wird, erscheint in der Datenbank plötzlich mit dem Wert: 00000000000000!
Wenn ich nun einen zweiten Eintrag machen möchte, bekomme ich folgende Fehlermeldung raus:
Fehler-Nummer: 1062
Fehler-Ausgabeoppelter Eintrag '00000000000000' für Schlüssel 1.
Auch soweit klar - der Primärschlüssel darf keine zwei identischen Werte enthalten - in diesem Falle: 00000000000000.
1. Aber warum trägt er in die MySQL Datenbank diesen Wert ein und nicht den zuvor angezeigten Timestamp?
2. Warum kann ich die Spalte "datumzeit" nicht auf "Not Null" setzen?
Was habe ich übersehen?
Beste Grüße,
Preko