PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   SQL / Datenbanken (https://www.php-resource.de/forum/sql-datenbanken/)
-   -   Date and Time Functions ... gehen nicht bei INSERT? (https://www.php-resource.de/forum/sql-datenbanken/103716-date-and-time-functions-gehen-nicht-bei-insert.html)

Truncate 16-01-2013 20:33

Date and Time Functions ... gehen nicht bei INSERT?
 
Hallo,

ich versuche gerade ein "deutsches Datum" automatisch im Query passend ins DATE-Feld reinzuschreiben:

INSERT INTO tabelle (eventid, von) VALUES ('".$eventid."', DATE_FORMAT('".mysql_real_escape_string($_POST['von'])."','%Y-%m-%d'))

Ignoriert aber DATE_FORMAT einfach... geht das ev. nur bei SELECTs und nich bei INSERTs?

Danke!

Kropff 16-01-2013 20:45

Zitat:

geht das ev. nur bei SELECTs und nich bei INSERTs?
Eigentlich nicht. Wie sieht denn der Query aus, wenn du ihn per echo ausgibst?

Peter

Truncate 16-01-2013 20:55

Der Query oben ist der "per echo ausgegebene".

Das eingelieferte Datum stimmt... ev. liegt's am escapen?

combie 16-01-2013 21:01

Zitat:

Zitat von Truncate (Beitrag 664755)
Der Query oben ist der "per echo ausgegebene".

Dann wird $_POST nicht ausgewertet, oder wie kommt das sonst dahin?

Truncate 16-01-2013 21:06

INSERT INTO tabelle (eventid, von) VALUES ('c6a9d64ceb02d51513422b85becf18c4', '')

Es ist leer?!?!

Truncate 16-01-2013 21:09

Funktioniert (wenn auch falsches Datum dann):

PHP-Code:

mysql_real_escape_string($_POST['von']) 

Funktioniert nicht (macht Datum "leer"):

PHP-Code:

DATE_FORMAT(mysql_real_escape_string($_POST['von']),'%Y-%m-%d'


Truncate 16-01-2013 21:12

Liefert ebenfalls NULL (direkt in SQL):

Code:

INSERT INTO tabelle (eventid, von) VALUES ('12345',        DATE_FORMAT('20.06.1986','%Y-%m-%d'))

combie 16-01-2013 21:36

Zitat:

DATE_FORMAT('20.06.1986','%Y-%m-%d'))
Date_format versteht deine Eingabedaten nicht.
Es erwartet YYYY-MM-TT
Bitte lesen: http://dev.mysql.com/doc/refman/5.1/...functions.html

Truncate 16-01-2013 21:41

Also gibt es keine SQL-interne Funktion um ein dt. Datum automatisch umzuwandeln?

combie 16-01-2013 21:53

Zitat:

Zitat von Truncate (Beitrag 664761)
Also gibt es keine SQL-interne Funktion um ein dt. Datum automatisch umzuwandeln?

Du hast die Doku nicht gelesen!
Warum nicht?
Denn hättest du es getan, dann hätte dir STR_TO_DATE() auffallen müssen.

Truncate 16-01-2013 23:01

Fatal error: Call to undefined function STR_TO_DATE() in...

PHP-Code:

mysql_query("INSERT INTO tabelle (eventid, von) VALUES ('".$eventid."',    '".mysql_real_escape_string(STR_TO_DATE($_POST['von'],'%d.%m.%Y'))."'); 

Muss ich jetzt ernsthaft in meinem String PHP und SQL trennen damit das dann geht? :-(

KevinLienkamp 16-01-2013 23:40

So...

Datums Format = DD.MM.YYYY

PHP-Code:

$query sprintf("INSERT INTO tabelle (eventid, von) VALUES ('%s', STR_TO_DATE('%s', GET_FORMAT(DATE,'EUR')))"mysql_real_escape_string($eventid), mysql_real_escape_string($_POST['von']));
mysql_query($query); 

Liebe grüße

P.S: Google hilft + eigenes Lesen + Kopf einschalten


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:43 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG