2008-12-19 8 views
1

Fondamentalement, je veux mettre "d'aujourd'hui" année, mois, jour en deux champs ... quelque chose comme ce qui suit. Essayé varients de mais ne peux pas l'obtenir droitcomment puis-je écrire cet INSERT pour que cela fonctionne

« INSERT INTO film_out (start_year, START_DAY, start_day), (END_YEAR, END_MONTH, END_DAY) VALUES ('année $', '$ mois', '$ jour') "

+0

Que voulez-vous dire par deux champs? Vous semblez avoir six colonnes (deux séries de trois colonnes année/mois/jour)? – Thilo

+0

Serait-il préférable d'utiliser par ex. DATE pour le type de champ? Ensuite, vous pouvez utiliser NOW() avec facilité. – strager

Répondre

2

?

"INSERT INTO film_out (start_year, start_month, start_day, end_year, end_month, end_day) 
     VALUES ('$year', '$month', '$day', '$year', '$month', '$day')" 
+0

c'est une question mysql. voir la réponse @ feed.transisted.com. – nickf

+0

@nickf Je le vois. Je ne sais pas pourquoi la solution que j'ai fournie ne fonctionnerait pas. J'ai pris l'exemple de code de l'OP, qui utilise évidemment un peu de PHP pour stocker les variables du jour, de l'année et du mois, et les branche (quoique pas en toute sécurité) dans une requête. Je lui ai simplement montré le bon formulaire de requête. – cLFlaVA

2
INSERT INTO film_out 
(start_year, start_month, start_day, end_year, end_month, end_day) 
VALUES 
(?,?,?,?,?,?) 

Vous avez six colonnes, vous devez donc six valeurs.

Si vous avez deux ensembles de trois valeurs, vous devez répéter les mêmes valeurs.

Vous souhaitez utiliser des variables de liaison au lieu de l'interpolation directe (? Au lieu de '$ year').

1

Je ne sais pas ce que vos types de colonnes sont donc je suppose qu'ils sont numériques ...

INSERT INTO film_out (start_year, start_month, start_day, end_year, end_month, end_day) 
VALUES (YEAR(), MONTH(NOW()), DAYOFMONTH() + 1, YEAR(), MONTH(NOW()), DAYOFMONTH() + 1) 
Questions connexes