PHP - Datum in mysql
Ich versuche, einfügen, Datum in mysql, aber immer wenn es scheitert und kommt als 0000-00-00
im phpmyadmin
Mein Datumsformat ist wie 2012-08-06
(yyyy-mm-dd) und das date-Feld-Typ in der Datenbank ist date
.
$date = "2012-08-06";
mysql_query("INSERT INTO data_table (title, date_of_event)
VALUES('". $_POST['post_title'] ."',
'". $date ."')") or die(mysql_error());
versucht, die änderung -
zu /
oder Sie zu entfernen, funktioniert es nicht.
Ich schlage vor, mit Zeitstempel (
Sie haben zwei Probleme (sql-injection-Schwachstelle und der Nutzung einer alten, bald als veraltet extension), die beide gelöst werden, wenn Sie wechseln zu-PDO (oder mysqli)
Warum ist das so ? können Sie erklären, ein wenig ?
ja ich bin mir bewusst, beide Probleme 🙂 nur fand ich über PDO und mysqli gestern, und ich möchte bis zum Ende, bis der Code dann konvertieren Sie die Erweiterung und Sicherheitsprobleme beheben.
Wenn Sie Zeitstempel-es spart Ihre Zeit als int. das wird nie Probleme geben, als Sie jetzt haben. und es hat den Vorteil des seins in der Lage zu sein, geschrieben in einer Datum-format ohne riskante string-to-date-Funktionen.
time()
) anstelle von Datum. und verwenden Sie die date()
Funktion zum konvertieren in ein beliebiges format bei der Anzeige.Sie haben zwei Probleme (sql-injection-Schwachstelle und der Nutzung einer alten, bald als veraltet extension), die beide gelöst werden, wenn Sie wechseln zu-PDO (oder mysqli)
Warum ist das so ? können Sie erklären, ein wenig ?
ja ich bin mir bewusst, beide Probleme 🙂 nur fand ich über PDO und mysqli gestern, und ich möchte bis zum Ende, bis der Code dann konvertieren Sie die Erweiterung und Sicherheitsprobleme beheben.
Wenn Sie Zeitstempel-es spart Ihre Zeit als int. das wird nie Probleme geben, als Sie jetzt haben. und es hat den Vorteil des seins in der Lage zu sein, geschrieben in einer Datum-format ohne riskante string-to-date-Funktionen.
InformationsquelleAutor xperator | 2012-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen
CAST
Funktion in MySQL:near ' AS DATE))'
versuchen Sie es erneut gab es ein extra Komma
Syntax-Fehler Weg, aber noch funktioniert es nicht.
was ist der exakte Datentyp des Feldes
date_of_event
?oops, ich hatte ein winziges problem mit dem Komma. behoben und funktioniert nun 🙂
InformationsquelleAutor Omesh
versuchen
das wird nicht funktionieren.
Was ist der Punkt in der Umwandlung "2012-08-06" , "2012-08-06"?
Ich Stimme mit @Mike hier, was ist der Unterschied zwischen den beiden? codepad.org/KFF4pi5u (außer für das script etwas komplizierter)
Auch in der Vergangenheit habe ich festgestellt mit dem gleichen problem, und die Art, wie ich arbeitete. Nochmal, ich habe gerade versucht das Datum als xperator hat, wurde das Datum eingefügt. @xperator, wird der Geist Sie drucken Sie die sql-Anweisung?
InformationsquelleAutor WatsMyName
Es sei denn, Sie möchten, fügen verschiedene Termine als "heute", die Sie verwenden können, CURDATE():
PS! Bitte vergessen Sie nicht, zu bereinigen Ihre MySQL-input, vor allem via mysql_real_escape_string ()
InformationsquelleAutor DavidS
versuchen, konvertieren von Datum ersten.
InformationsquelleAutor John Woo
Gewusst wie: Debuggen von SQL-Abfragen, wenn Sie stecken
Drucken Sie die Abfrage und führen Sie es direkt in mysql oder phpMyAdmin
diese Weise können Sie sicherstellen, dass das problem nicht in deinem PHP-Skript, sondern in der SQL-Abfrage
Einreichen Fragen, die auf SQ-Abfragen
Stellen Sie sicher, dass Sie genügend Schließung
InformationsquelleAutor Maksim Burnin
InformationsquelleAutor anilv0001