Reputation: 8808
I get the following error in the query below:
#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 ')))' at line 1
INSERT INTO test_bans( ip, Expiration )
VALUES (
"0.0.0.0", DateAdd(
"d", 1, Date( )
)
)
CREATE TABLE test_bans (
ID smallint(6) NOT NULL AUTO_INCREMENT,
IP text NOT NULL,
Expiration DATETIME NOT NULL,
PRIMARY KEY (ID)
) TYPE=MyISAM;
What am I missing?
Edit, after running this query I got this error. I guess my ew question is how do I add a day to my current timestamp?
#1305 - FUNCTION optimuscprime.DateAdd does not exist
Query:
INSERT INTO test_bans( ip, Expiration )
VALUES (
"0.0.0.0", DateAdd(
"d", 1,
CURRENT_TIMESTAMP
)
)
Upvotes: 4
Views: 3416
Reputation: 13226
DATE() takes arguments, you should use NOW() to use the current date/time or other date functions.
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
As for the day +1.. in PHP I would do something like:
strtotime('+1 day', time());
You could also use INTERVAL with MySQL with the link provided.
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add
Upvotes: 3
Reputation: 127001
Try to use simple SQL, not the MySQL-dialect:
INSERT INTO test_bans( ip, Expiration )
VALUES (
'0.0.0.0', (NOW() + INTERVAL 1 DAY)
);
Upvotes: 4
Reputation: 137567
DATE()
should have an argument. You may want to use NOW()
instead.
Upvotes: 3