Format date en PHP/MySQL

Résolu/Fermé
supupoff Messages postés 310 Date d'inscription dimanche 27 novembre 2011 Statut Membre Dernière intervention 8 janvier 2021 - 24 déc. 2011 à 14:18
supupoff Messages postés 310 Date d'inscription dimanche 27 novembre 2011 Statut Membre Dernière intervention 8 janvier 2021 - 24 déc. 2011 à 23:53
Bonjour,


Bonjour,

aide svp
Erreur ://

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Y-M-D', strtotime(8/8/1985))', cin='98798789787', section='Infor' at line 9


SQL ::

 $requete = "INSERT INTO candidature SET
                nom='$_POST[Nom]',
                prenom='$_POST[Prenom]',
				tel='$_POST[Tel]',
				certificat ='$_POST[Certificat]',
				typecertficat='$_POST[type]',
				annee='$_POST[annee]',
				date='$_POST[date]',
				naissance= ' date('Y-M-D', strtotime($_POST[naissance]))',
			    cin='$_POST[cin]',
			    section='$_POST[section]',
				etat='Non',
			    commentaire='$_POST[commentaire]'";



merci d'avance ;))
A voir également:

2 réponses

Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 144
24 déc. 2011 à 21:42
Salut,

Essaie avec date('Y-m-d', strtotime($_POST[naissance]))
0
supupoff Messages postés 310 Date d'inscription dimanche 27 novembre 2011 Statut Membre Dernière intervention 8 janvier 2021 34
Modifié par supupoff le 24/12/2011 à 22:56
rien mm erreur

merci
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
24 déc. 2011 à 22:06
Salut,

La fonction PHP strtotime() ne "comprend" que les dates au format anglais.
DD/MM/YY n'est pas un format anglais (mais MM/DD/YY oui).
Ici, tu utilises « 8 » pour le jour et le mois, donc il n'y a aucun problème de ce côté, mais je tenais à en faire la remarque car tes visiteurs, francophones, utiliserons le format DD/MM/YY ce qui provoquera quelque soucis.

La fonction strtotime() n'est pas exéctuée avant d'être envoyée à MySQL car tu n'utilises pas la concaténation.
En MySQL, il existe la fonction STR_TO_DATE mais pas strtotime.

Sans oublier qu'un problème se pose avec les apostrophes :
 $requete = "INSERT INTO candidature SET
                nom='$_POST[Nom]',
                prenom='$_POST[Prenom]',
		tel='$_POST[Tel]',
		certificat ='$_POST[Certificat]',
		typecertficat='$_POST[type]',
		annee='$_POST[annee]',
		date='$_POST[date]',
		naissance= ' date('Y-M-D', strtotime($_POST[naissance]))',
 		 cin='$_POST[cin]',
0
supupoff Messages postés 310 Date d'inscription dimanche 27 novembre 2011 Statut Membre Dernière intervention 8 janvier 2021 34
24 déc. 2011 à 22:51
Merci :))
j'ai essayé de change mes step :))

ben j'ai crée fct
function convertirDate($sDateUs)
{
return strftime('%Y/%m/%d ', strtotime($sDateUs));
}

...
naissance= 'convertirDate($_POST[naissance]));',

pas d'erreur mais l'insertion reste 0000:00:00

merci
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
24 déc. 2011 à 23:23
naissance= 'convertirDate($_POST[naissance]));', 

Il manque le signe $.
Les variables/fonctions ne sont pas interprétées entre guillemets.
0
supupoff Messages postés 310 Date d'inscription dimanche 27 novembre 2011 Statut Membre Dernière intervention 8 janvier 2021 34
24 déc. 2011 à 23:41
j'ai pas saisi :)) vous pouvez expliqué svp :! merci
0
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 144
24 déc. 2011 à 23:43
$naissance = convertirDate($_POST['naissance']);
0
supupoff Messages postés 310 Date d'inscription dimanche 27 novembre 2011 Statut Membre Dernière intervention 8 janvier 2021 34
24 déc. 2011 à 23:53
thanks mercii bcp c resolu

ben pr ceux ki on mm prbl ( peut -etre un jrs)
c comme sa

function convertirDate($sDateUs)
{
return strftime('%Y/%m/%d ', strtotime($sDateUs));
}
$naissance = convertirDate($_POST['naissance']);

$requete = "INSERT INTO candidature SET
............
naissance= '$naissance',
..............................


Merci bcp Autumn et avion-f16

----10ks
0