2 Stimmen

Php/Mysql Abfrage mit Einfügen des Datums schlägt fehl

Ich habe schon eine Weile gesucht und kann nicht herausfinden, warum meine Abfrage für Datum nicht funktioniert.

Ich möchte, dass es als Datum in meine Datenbank importiert wird, das ist eine Entscheidung von weiter oben, also bin ich hier.

$insert_query = "INSERT INTO enrties(
`datum` )
VALUES (
'".mysql_real_escape_string($_SESSION['Datum'])."')

Ein paar Seiten vor dem obigen benutze ich diesen Code, um die $_SESSION zu füllen

$DateDag = $_POST['Dag'];
$DateMaand = $_POST['Maand'];
$DateJaar = $_POST['Jaar'];
switch ($DateMaand)
{
case 'Januari': $DateMaand = '01'; break;
case 'Februari': $DateMaand = '02'; break;
case 'Maart': $DateMaand = '03'; break; 
case 'April': $DateMaand = '04'; break; 
case 'Mei': $DateMaand = '05'; break;   
case 'Juni': $DateMaand = '06'; break;  
case 'July': $DateMaand = '07'; break;  
case 'Augustus': $DateMaand = '08'; break;  
case 'September': $DateMaand = '09'; break; 
case 'Oktober': $DateMaand = '10'; break;   
case 'November': $DateMaand = '11'; break;  
case 'December': $DateMaand = '12'; break;      
}
$_SESSION['Datum'] = $DateDag. '-'. $DateMaand. '-'. $DateJaar;

Ich möchte, dass das Datum im SQL-Datumsformat importiert wird (vorzugsweise im Format DD-MM-YYYY).

GELÖST, es gab einen Fehler im Switch. Anscheinend, bin mir nicht ganz sicher, aber es funktioniert ;)

1voto

472084 Punkte 17387

MySQL-Datumsformat muss YYYY-MM-DD sein

Drehen Sie es um, damit es so aussieht:

$_SESSION['Datum'] = $DateJaar.'-'.$DateMaand.'-'.$DateDag;

1voto

Gianpaolo Di Nino Punkte 1139

Das MySQL-Datumsformat ist tatsächlich JJJJ-MM-TT, daher müssen Sie, wenn Sie ein Datum einfügen möchten (wahrscheinlich ist Ihr Datumsfeld Datum oder Datetime), Ihren String auf diese Weise einrichten.

Wenn Sie Ihr Datum auf andere Weise einfügen möchten, sollten Sie dies verwenden:

INSERT INTO Einträge (datum) VALUES (str_to_date('01/02/2000', '%d/%m/%Y')); 

aber das Datum wird immer im Format JJJJ-MM-TT gespeichert, da dies für MySQL standardmäßig ist.

0voto

ka_lin Punkte 9046

Nachdem das Datum eingefügt wurde, können Sie nach der Abfrage formatieren $new_format=date('h:i:s d/m/Y',strtotime($date_string));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X