09. oktober 2006 - 15:24
Der er
20 kommentarer og 1 løsning
Dato fra txt felt til MySql db
Jeg har en form med et input felt, hvor der indtastes en dato med formatet: dd-mm-yyyy Den postes til $time_dato: if(isset($_POST['time_dato'])){$time_dato = $_POST['time_dato'];} Datoen vil jeg gerne have lagret i min database som en date (med format: yyyy-mm-dd) Jeg har prøvet med: $ins = "INSERT INTO `proj_timer` (`time_bruger_id`, `time_projekt_id`, `time_txt`, `time_dato`, `time_tid`) VALUES ('$time_bruger_id', '$time_projekt_id', '$time_txt', 'STR_TO_DATE($time_dato, %d%m%Y)', '$time_tid')"; mysql_query($ins) or die (mysql_error()); Men det spiller ikke rigtigt - er der én, der har et bud?
Annonceindlæg fra Infor
09. oktober 2006 - 18:06
#1
$ins = "INSERT INTO `proj_timer` (`time_bruger_id`, `time_projekt_id`, `time_txt`, `time_dato`, `time_tid`) VALUES ('$time_bruger_id', '$time_projekt_id', '$time_txt', STR_TO_DATE($time_dato, '%d-%m-%Y'), '$time_tid')"; mysql_query($ins) or die (mysql_error()); burde virke på dd-mm-yyyy
09. oktober 2006 - 21:29
#2
Giver syntax fejl i sql'en. $ins = "INSERT INTO proj_timer(time_bruger_id, time_projekt_id, time_txt, time_dato, time_tid)VALUES('$time_bruger_id', '$time_projekt_id', '$time_txt', '$time_dato', '$time_tid')"; Er syntaktisk iorden.. $ins = "INSERT INTO proj_timer(time_bruger_id, time_projekt_id, time_txt, time_dato, time_tid)VALUES('$time_bruger_id', '$time_projekt_id', '$time_txt', 'STR_TO_DATE($time_dato, %d-%m-%Y)', '$time_tid')"; Er også i orden, men giver 0000-00-00
09. oktober 2006 - 22:03
#3
Det kan gøres med: list($dag, $maaned, $aar) = explode('-',$time_dato); $ny_dato=$aar.'-'.$maaned.'-'.$dag; $ins = "INSERT INTO proj_timer(time_bruger_id, time_projekt_id, time_txt, time_dato, time_tid)VALUES('$time_bruger_id', '$time_projekt_id', '$time_txt', '$ny_dato', '$time_tid')"; mysql_query($ins) or die (mysql_error()); Men kønt er det ikke..
09. oktober 2006 - 22:04
#4
$ins = "INSERT INTO proj_timer(time_bruger_id, time_projekt_id, time_txt, time_dato, time_tid)VALUES('$time_bruger_id', '$time_projekt_id', '$time_txt', 'STR_TO_DATE($time_dato, %d-%m-%Y)', '$time_tid')"; er forkert og bør være: $ins = "INSERT INTO proj_timer(time_bruger_id, time_projekt_id, time_txt, time_dato, time_tid)VALUES('$time_bruger_id', '$time_projekt_id', '$time_txt', STR_TO_DATE($time_dato, '%d-%m-%Y'), '$time_tid')"; Du kan teste det i phpMyAdmin eller en command line SQL ved at sige: SELECT STR_TO_DATE( '24-12-2006', '%d-%m-%Y' ); Den skulle være god nok!
09. oktober 2006 - 22:05
#5
Ville hellere have STR_TO_DATE() til at virke
09. oktober 2006 - 22:05
#6
Prøv lige efter den $ins = linje at skrive: echo $ins; og paste hvad den skriver - så må vi kunne se hvor fejlen er ;P
09. oktober 2006 - 22:06
#7
doh det skal jo være: $ins = "INSERT INTO proj_timer(time_bruger_id, time_projekt_id, time_txt, time_dato, time_tid)VALUES('$time_bruger_id', '$time_projekt_id', '$time_txt', STR_TO_DATE('$time_dato', '%d-%m-%Y'), '$time_tid')"; :)
09. oktober 2006 - 22:07
#8
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 '(04-10-2006, '%d-%m-%Y'), '')' at line 1
09. oktober 2006 - 22:08
#9
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 '('12-10-2006', '%d-%m-%Y'), '')' at line 1 Jeg fatter hat!
09. oktober 2006 - 22:12
#10
Prøv lige at køre denne select i phpMyAdmin eller MySQL-Front eller hvad du bruger: SELECT STR_TO_DATE('12-10-2006', '%d-%m-%Y'); Den skulle gerne returnere 2006-10-12
09. oktober 2006 - 22:14
#11
Efter hvad jeg kan se er $time_id tomt?
09. oktober 2006 - 22:16
#12
Igen, prøv lige at skrive SQL'en ud og paste den her...
09. oktober 2006 - 22:17
#13
SQL-forespørgsel: ((Kørt i phpmyadmin)) SELECT STR_TO_DATE( '12-10-2006', '%d-%m-%Y' ) MySQL returnerede: #1064 - 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 '('12-10-2006', '%d-%m-%Y')' at line 1
09. oktober 2006 - 22:18
#14
Hvad version af MySQL kører du med?
09. oktober 2006 - 22:19
#15
SELECT VERSION(); Jeg tror ikke at din MySQL understøtter STR_TO_DATE() ? Min giver mig: mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.0.18 | +-----------+ 1 row in set (0.00 sec) mysql> SELECT STR_TO_DATE('12-10-2006', '%d-%m-%Y') AS Datoen; +------------+ | Datoen | +------------+ | 2006-10-12 | +------------+ 1 row in set (0.00 sec)
09. oktober 2006 - 22:19
#16
>>Henninghabor $time_id? ...mener du $time_tid?
09. oktober 2006 - 22:21
#17
Du er nok nødt til at bruge din nødløsning med explode/list ;)
09. oktober 2006 - 22:22
#18
det kan godt være min er 4.0.27
09. oktober 2006 - 22:27
#19
Nåmen tak for hjælpen alligevel - jeg lever med mit hurtige fix :/
09. oktober 2006 - 22:41
#20
STR_TO_DATE() virker først fra 4.1.1 og frem :P
09. oktober 2006 - 22:57
#21
Se bort fra min kommentar. Sorry.
Vi tilbyder markedets bedste kurser inden for webudvikling