2016-03-28 5 views
0

Ich habe eine Tabelle, die Datum und Dezimal von PHP-Seite erhält. Wenn Einfügung an die Tabelle übergeben wird, wird der Wert des Datums (z. B. 2016-03-28) in "1970-01-01" und die Dezimalzahl (z. B. 55,55) wird konvertiert in -1991.00 umgewandelt werden und manchmal in -1993.00 ...Mein SQL-Datensatz wird automatisch konvertiert

Ich habe meine php $ _POST Variablen überprüft und sie werden OK gesendet Ich habe auch die Werte in eine andere Tabelle mit der gleichen Struktur eingefügt und es hat funktioniert Fein. ich habe auch manuell über phpMyAdmin eingefügt und es sieht nicht gut aus.

ich auch einen Arbeitstisch dupliziert und überprüft, dass die Struktur die gleiche ist, und es hilft nicht ...

Spalte Datum ist "DATE" und Dezimal-Spalte ist "DECIMAL (32,2)"

enter image description here

enter image description here

enter image description here

+1

du fügst/aktualisierst einen ungültigen Datumswert, also "korrigiert" mysql ihn zur Epoche, jan 1/1970. Sie müssen zeigen, wie Sie das Einfügen/Aktualisieren durchführen. keine Ahnung, wie die Dezimalzahl beschädigt wird - zeigen Sie wiederum die tatsächlichen Abfragen an, die das verursachen. –

+0

$ timestamp = strtotime ($ date); $ date_conv = Datum ("Y-m-d H: i: s", $ Zeitstempel); $ sql = "INSERT INTO Tabelle (ID, Datum, Beschreibung, Abschnitt, Dezimal) VALUES (null, '". $ date_conv.' ',' ". $ description. '', '". $ section.' ', $ Dezimal)"; Vielen Dank! –

+0

und was zeigt 'echo $ sql'? Fügen Sie diese Art von Code nicht in Befehle ein. es ist schwer zu lesen. bearbeite deine Frage und füge sie dort hinzu. –

Antwort

0

Wenn Sie ein Datum einfügen, warum bist du einen Zeitstempel erstellen und dann versuchen, das einzufügen? Sie müssen Zeitstempel in Zeitstempelfelder und Datumsangaben in Datumsfelder einfügen.

+0

Becouse Ich muss Zeichenfolge von Datum als Vorbereitung für das Einfügen in DB konvertieren. –

+0

Sie konvertieren jedoch ein Datum im Format Y-m-d in einen Zeitstempel im Format Y-m-d H: i: s, um es anschließend in ein Datumsfeld im Format Y-m-d einzufügen. Lassen Sie die H: i: s fallen und das Datum sollte gut eingefügt werden. – VikingBlooded

+0

@VikingBlooded: mysql schneidet Datums-> Datum beim Einfügen in ein Datumsfeld automatisch ab. Einen Zeitwert für ein Datumsfeld anzugeben, ist sinnlos, aber nicht "falsch". –

0

Nun, ich fand die Antwort, Becouse Ich arbeite spät in der Nacht, ich habe nicht gesehen, dass ich Parameter zu PHP-Funktion nicht in der gleichen Reihenfolge, die die Funktion bekommt them. Mein Fehler ... Es wurde behoben und es funktionierte.

Verwandte Themen