Format date en PHP/MySQL

Résolu/Fermé
Signaler
Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
-
Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
-
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 ;))

2 réponses

Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
148
Salut,

Essaie avec date('Y-m-d', strtotime($_POST[naissance]))
0
Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
34
rien mm erreur

merci
0
Messages postés
18635
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 351
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
Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
34
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
Messages postés
18635
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 351
naissance= 'convertirDate($_POST[naissance]));', 

Il manque le signe $.
Les variables/fonctions ne sont pas interprétées entre guillemets.
0
Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
34
j'ai pas saisi :)) vous pouvez expliqué svp :! merci
0
Messages postés
1054
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2013
148
$naissance = convertirDate($_POST['naissance']);
0
Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
34
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