13. maj 2003 - 13:55
Der er
19 kommentarer
php og mysql
hej jeg har dette jeg gerne vil have i min db: SELECT DATE_ADD($theday) INTERVAL 1 YEAR hvordan gør jeg? jeg plejer at gøre noget ala: mysql_query("INSERT INTO webhotels (payetto,paynext) VALUES ('SELECT DATE_ADD($theday) INTERVAL 1 YEAR','SELECT DATE_ADD($theday) INTERVAL 11 MONTH') ") or die (mysql_error());
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
mysql_query("INSERT INTO webhotels (payetto,paynext) VALUES (DATE_ADD($theday) INTERVAL 1 YEAR,DATE_ADD($theday) INTERVAL 11 MONTH) ") or die (mysql_error());
Evt: mysql_query("INSERT INTO webhotels (payetto,paynext) VALUES (DATE_ADD('$theday') INTERVAL 1 YEAR,DATE_ADD('$theday') INTERVAL 11 MONTH) ") or die (mysql_error());
får denne fejl: You have an error in your SQL syntax near ') INTERVAL 1 YEAR,DATE_ADD(2003-13-05) INTERVAL 11 MONTH) ' at line 4
mysql_query("INSERT INTO webhotels (payetto,paynext) VALUES (DATE_ADD('$theday', INTERVAL 1 YEAR),DATE_ADD('$theday', INTERVAL 11 MONTH)) ") or die (mysql_error());
att. fsconsult DATE_ADD bliver blot "null" hvis jeg laver det som dit..
Uden '...' omkring $theday ??
her alt koden jeg bruger: $theday = date("Y-d-m"); mysql_query("INSERT INTO webhotels (payetto) VALUES (DATE_ADD($theday) INTERVAL 1 YEAR) ") or die (mysql_error()); men payetto bliver blot "null"
jeg flyttede blot INTERVAL delen ind i DATE_ADD parentesen da det er syntaksen :-) Prøv at fjerne ' som erikjacobsen foreslår
mysql_query("INSERT INTO webhotels (payetto) VALUES (DATE_ADD(SYSDATE() INTERVAL 1 YEAR)) ") or die (mysql_error()); (hvis det altså er d.d. + 1 år du ønsker)
ok.. det giver: You have an error in your SQL syntax near 'INTERVAL 1 YEAR)) ' at line 1
hmm.. der skal selvfølgelig være et , mellem datoen og interval delen: mysql_query("INSERT INTO webhotels (payetto) VALUES (DATE_ADD(SYSDATE(), INTERVAL 1 YEAR)) ") or die (mysql_error());
ok.. det virker.. men jeg skal ikke bruge klokken til noget, hvordan får jeg den fra? sysdata?
Alternativt prøv: $theday = date("Y-d-m"); mysql_query("INSERT INTO webhotels (payetto) VALUES (DATE_ADD(\"" . $theday . "\", INTERVAL 1 YEAR) ") or die (mysql_error()); (en dato skal som konstant angives i quotes)
hvis feltet er defineret som DATE og ikke DATETIME burde klokken aldrig blive gemt i databasen
mysql_query("INSERT INTO webhotels (payetto) VALUES (DATE_ADD(\"" . $theday . "\", INTERVAL 1 YEAR) ") or die (mysql_error()); giver: You have an error in your SQL syntax near '' at line 1 mysql_query("INSERT INTO webhotels (payetto) VALUES (DATE_ADD(SYSDATE(), INTERVAL 1 YEAR)) ") or die (mysql_error()); giver: 2004-05-13 14:52:29 den sidste kan bruges blot man kan undgå tiden... /sj
mysql_query("INSERT INTO webhotels (payetto) VALUES (CAST(DATE_ADD(SYSDATE(), INTERVAL 1 YEAR)) AS DATE) ") or die (mysql_error()); (ikke testet)
Det andet burde også virke ... hmm.. $theday = date("Y-d-m"); mysql_query("INSERT INTO webhotels (payetto) VALUES (DATE_ADD('" . $theday . "', INTERVAL 1 YEAR) ") or die (mysql_error());
ingen af de 2 virker :( den første giver: You have an error in your SQL syntax near '(DATE_ADD(SYSDATE(), INTERVAL 1 YEAR)) AS DATE) ' at line 1
løsningen er: mysql_query("INSERT INTO webhotels (payetto) VALUES (DATE_ADD(CURDATE(), INTERVAL 1 YEAR)) ") or die (mysql_error());
Vi tilbyder markedets bedste kurser inden for webudvikling