J'essaie d'insérer une date dans mysql mais chaque fois qu'elle échoue et qu'elle sort sous la forme 0000-00-00
dans phpmyadmin
Mon format de date ressemble à 2012-08-06
(aaaa-mm-jj) et le type de champ de date dans la base de données est date
.
$date = "2012-08-06";
mysql_query("INSERT INTO data_table (title, date_of_event)
VALUES('". $_POST['post_title'] ."',
'". $date ."')") or die(mysql_error());
essayé de changer -
en /
ou de les supprimer, cela ne fonctionne pas.
essayez la fonction CAST
dans MySQL:
mysql_query("INSERT INTO data_table (title, date_of_event)
VALUES('". $_POST['post_title'] ."',
CAST('". $date ."' AS DATE))") or die(mysql_error());
essayer
$date = "2012-08-06";
$date=date("Y-m-d",strtotime($date));
Comment déboguer des requêtes SQL lorsque vous êtes bloqué
Imprimez votre requête et exécutez-la directement dans mysql ou phpMyAdmin
$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());
de cette façon, vous pouvez vous assurer que le problème ne réside pas dans votre script PHP, mais dans votre requête SQL
Comment soumettre des questions sur des requêtes SQ
Assurez-vous que vous avez fourni assez de fermeture
Sauf si vous souhaitez insérer des dates différentes de "aujourd'hui", vous pouvez utiliser CURDATE ():
$sql = 'INSERT INTO data_tables (title, date_of_event) VALUES ("%s", CURDATE())';
$sql = sprintf ($sql, $_POST['post_title']);
PS! N'oubliez pas de nettoyer votre entrée MySQL, en particulier via mysql_real_escape_string ()
essayez de convertir la date en premier.
$date = "2012-08-06";
mysql_query("INSERT INTO data_table (title, date_of_event)
VALUES('" . $_POST['post_title'] . "',
'" . $date . "')")
or die(mysql_error());