icehawk012 Posted September 7, 2006 Share Posted September 7, 2006 Alright, for some reason this script I wrote is working with mySQL 5 but not 4. I've been running through it trying to figure out what's going on but I keep getting the same error :[quote]News could not be added because: Incorrect datetime value: '9.7.2006 1:41am' for column 'date' at row 1[/quote]So here's what I've got as far as adding the "News":[code] } else if (isset ($_POST['submit'])) { include("db2.php"); $realdate = date ( 'n.j.Y g:ia' ); $writenews = "INSERT INTO park_news (title, content, date) VALUES ('{$_POST['posttitle']}', '{$_POST['postcontent']}', '{$realdate}')"; if (@mysql_query($writenews)) { print ("<p>News successfully added.</p>"); } else { print ("<p>News could not be added because: <b>" . mysql_error() . "</b></p>"); } print ("<img src=\"spacer.gif\" width=\"75%\" height=\"1\" />");[/code]Should I be using the time() function to get my date and then reformatting it when it spits it back out? Link to comment https://forums.phpfreaks.com/topic/19973-incorrect-datetime-value/ Share on other sites More sharing options...
pocobueno1388 Posted September 7, 2006 Share Posted September 7, 2006 I just use the NOW() function.[code]$realdate = NOW();[/code]Although I am not sure how to or even if you can format that to how you want it. It works fine for me for datetime feilds. Link to comment https://forums.phpfreaks.com/topic/19973-incorrect-datetime-value/#findComment-87547 Share on other sites More sharing options...
icehawk012 Posted September 7, 2006 Author Share Posted September 7, 2006 The now() function won't work. I get the following error when I try to use it:[quote]Fatal error: Call to undefined function:[/quote]Any other ideas? Link to comment https://forums.phpfreaks.com/topic/19973-incorrect-datetime-value/#findComment-87786 Share on other sites More sharing options...
wildteen88 Posted September 7, 2006 Share Posted September 7, 2006 now is a mysql function. It is not a PHP function. That is why you get an undefined function.YOu use NOW() in your MySQL Query Link to comment https://forums.phpfreaks.com/topic/19973-incorrect-datetime-value/#findComment-87791 Share on other sites More sharing options...
designationlocutus Posted September 7, 2006 Share Posted September 7, 2006 What is the datatype in your database for the date? Link to comment https://forums.phpfreaks.com/topic/19973-incorrect-datetime-value/#findComment-87794 Share on other sites More sharing options...
icehawk012 Posted September 7, 2006 Author Share Posted September 7, 2006 DATETIME Link to comment https://forums.phpfreaks.com/topic/19973-incorrect-datetime-value/#findComment-87795 Share on other sites More sharing options...
icehawk012 Posted September 7, 2006 Author Share Posted September 7, 2006 Ok thanks for clearing that up. I used the NOW() function in my MySQL query and it works now, but how would I go about making it my time and not the server time? Or is that even possible? Link to comment https://forums.phpfreaks.com/topic/19973-incorrect-datetime-value/#findComment-87799 Share on other sites More sharing options...
designationlocutus Posted September 7, 2006 Share Posted September 7, 2006 Yeah its possible. PHP5 introduced some date/time contants to use. You will probably have to use php date function in order to get them to work properly and then add to the database afterward.http://uk.php.net/manual/en/ref.datetime.php#datetime.constants Link to comment https://forums.phpfreaks.com/topic/19973-incorrect-datetime-value/#findComment-87807 Share on other sites More sharing options...
icehawk012 Posted September 7, 2006 Author Share Posted September 7, 2006 Ok, I've got it all figured out so I figured I would update everyone on how it's done. I'm using the MySQL NOW() function, but combining it with the MySQL CONVERT_TZ() function which takes three variables: DATETIME, Timezone1, and Timezone2. Timezone1 being the starting timezone and Timezone2 being the timezone to be converted to. The code ends up looking like so:[code] } else if (isset ($_POST['submit'])) { include("db2.php"); $writenews = "INSERT INTO park_news (title, content, date) VALUES ('{$_POST['posttitle']}', '{$_POST['postcontent']}', CONVERT_TZ(NOW(),'+00:00','-07:00'))"; if (@mysql_query($writenews)) { print ("<p>News successfully added.</p>"); } else { print ("<p>News could not be added because: <b>" . mysql_error() . "</b></p>"); } print ("<img src=\"spacer.gif\" width=\"75%\" height=\"1\" />");[/code]Works flawlessly. ;D Link to comment https://forums.phpfreaks.com/topic/19973-incorrect-datetime-value/#findComment-87819 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.