Probleme INSERT INTO

Résolu
maxisaxo Messages postés 230 Date d'inscription   Statut Membre Dernière intervention   -  
maxisaxo Messages postés 230 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour chers amis du net,

J'ai un problème lié à ma base de données..
En effet, quand je lance un "insert into" dans celle-ci et que je tente donc d'affecter une date dans l'un de mes champs il me met 0000-00-00.

Comprenez que c'est assez dérangeant quand la date fait partie de la clé primaire !

voici donc une partie de mon fougueux code :

Tout d'abord la création de table :

CREATE TABLE IF NOT EXISTS LIVREOR(
NumUtil INT NOT NULL,
DateLivre DATE NOT NULL,
TitreLivre varchar(50),
ComLivre varchar(1000),
PRIMARY KEY (NumUtil, DateLivre),
FOREIGN KEY (NumUtil) REFERENCES UTIL(NumUtil)
)CHARACTER SET utf8;


Et voici donc mon INSERT INTO :

INSERT INTO livreor (NumUtil, DateLivre, TitreLivre, ComLivre) VALUES (1, 08/01/1735, 'VRAIMENT SUPER !', 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy .........');

Après, c'est du code fait à la mimine, alors aurais-je fait une faute ?

Merci de votre réponse si vous répondez, merci de votre participation si vous participez, merci pour vos recherches si vous cherchez et gardez la pêche.

Maxisaxo

4 réponses

Utilisateur anonyme
 
Bonjour

08/01/1735, ce n'est pas une date correcte en mySQL. Il faut l'indiquer au format '1735-01-08' (sans oublier les apostrophes autour de la date, sinon c'est une soustraction)
1
Utilisateur anonyme
 
1 - décomposer la chaîne en 3 morceaux avec explode
2 - ré-assembler les morceaux dans l'ordre

$tb = explode('/',$datefr);
$datemysql = $tb[2].'-'.$tb[1].'-'.$tb[0];


Pour bien faire, il faudrait vérifier que $tb a bien 3 éléments, que le jour, le mois et l'année sont corrects avant de les prendre en compte.

Tu auras le problème inverse au moment où tu voudras récupérer ta date. Au lieu de demander le champ DateLivre, il faudra demander DATE_FORMAT(DateLivre,"%d/%m/%Y") AS DateLivreFr
1
maxisaxo Messages postés 230 Date d'inscription   Statut Membre Dernière intervention   16
 
AAAAAH :D

Merci mon père, ça fonctionne à merveille !

Maintenant je ne sais pas si tu peux me renseigner mais je souhaiterais éviter de demander aux utilisateurs de mettre dans ce format toutes les dates que je leur demande ... ou même les afficher en format bien comme chez nous (01/08/1735) !

Y a t il une fonction en PHP pour cela ?

Puisse la vie t'apporter richesses, prospérité et amour !
0
maxisaxo Messages postés 230 Date d'inscription   Statut Membre Dernière intervention   16
 
Vous m'impressionnez mon père !

Loué soit votre famille et vos proches pour l'aide que vous m'avez procuré !

Encore mille fois merci, vous me sauvez d'un nombre incalculable de souffrance de recherches dans les méandres d'internet !


Bonne fin de journée !

Je clos le sujet ;)
0