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

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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!

  • #2
    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
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Der Query oben ist der "per echo ausgegebene".

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

      Kommentar


      • #4
        Zitat von Truncate Beitrag anzeigen
        Der Query oben ist der "per echo ausgegebene".
        Dann wird $_POST nicht ausgewertet, oder wie kommt das sonst dahin?
        Wir werden alle sterben

        Kommentar


        • #5
          INSERT INTO tabelle (eventid, von) VALUES ('c6a9d64ceb02d51513422b85becf18c4', '')

          Es ist leer?!?!

          Kommentar


          • #6
            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'

            Kommentar


            • #7
              Liefert ebenfalls NULL (direkt in SQL):

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

              Kommentar


              • #8
                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
                Wir werden alle sterben

                Kommentar


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

                  Kommentar


                  • #10
                    Zitat von Truncate Beitrag anzeigen
                    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.
                    Wir werden alle sterben

                    Kommentar


                    • #11
                      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? :-(

                      Kommentar


                      • #12
                        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

                        Kommentar

                        Lädt...
                        X