web-dev-qa-db-ger.com

PHP - Datum in mysql einfügen

Ich versuche, Datum in mysql einzufügen, aber jedes Mal schlägt es fehl und erscheint als 0000-00-00 in phpmyadmin

Mein Datumsformat ist wie 2012-08-06 (jjjj-mm-tt) und der Datumsfeldtyp 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()); 

versuchte, - in / zu ändern oder sie zu entfernen, es funktioniert nicht. 

11
xperator

versuchen Sie die Funktion CAST in MySQL:

mysql_query("INSERT INTO data_table (title, date_of_event)
VALUES('". $_POST['post_title'] ."',
CAST('". $date ."' AS DATE))") or die(mysql_error()); 
12
Omesh

versuchen

$date = "2012-08-06";
$date=date("Y-m-d",strtotime($date));
10
WatsMyName

Wie Debuggen von SQL-Abfragen, wenn Sie stecken bleiben

Drucken Sie Ihre Abfrage aus und führen Sie sie direkt in mysql oder phpMyAdmin aus

$date = "2012-08-06";
$query= "INSERT INTO data_table (title, date_of_event) 
             VALUES('". $_POST['post_title'] ."',
                    '". $date ."')";
echo $query;
mysql_query($query) or die(mysql_error()); 

auf diese Weise können Sie sicherstellen, dass das Problem nicht in Ihrem PHP-Skript, sondern in Ihrer SQL-Abfrage liegt

Wie man Fragen zu SQ-Anfragen einreicht

Stellen Sie sicher, dass Sie ausreichend geschlossen haben

  • Tabellenschema
  • Abfrage
  • Fehlermeldung ist beliebig
0
Maksim Burnin

Wenn Sie kein anderes Datum als "heute" einfügen möchten, können Sie CURDATE () verwenden:

$sql = 'INSERT INTO data_tables (title, date_of_event) VALUES ("%s", CURDATE())';
$sql = sprintf ($sql, $_POST['post_title']);

PS! Vergessen Sie nicht, Ihre MySQL-Eingabe zu bereinigen, insbesondere über mysql_real_escape_string ()

0
DavidS

versuchen Sie zuerst das Datum zu konvertieren.

$date = "2012-08-06";

mysql_query("INSERT INTO data_table (title, date_of_event)
               VALUES('" . $_POST['post_title'] . "',
                      '" . $date . "')") 
           or die(mysql_error());
0
John Woo