Jump to content

date comparison weirdness


thameslink

Recommended Posts

I'm new to php & mysql

 

This has got me baffled

can anyone help me to understand why

 

 

select curdate();
+------------+
| curdate()  |
+------------+
| 2011-02-10 |
+------------+
1 row in set (0.00 sec)

 

Ok I understand that

now,

 

select DATE_FORMAT(CURDATE(),'%Y-%d-%m');
+-----------------------------------+
| DATE_FORMAT(CURDATE(),'%Y-%d-%m') |
+-----------------------------------+
| 2011-10-02                        |
+-----------------------------------+
1 row in set (0.00 sec)

Ok good I get that bit, seems to work exactly as I'd expect.

 

Now how come

mysql_query("UPDATE LOW_PRIORITY jos_vm_product SET product_in_stock = product_in_stock + '$product_quantity'
WHERE STR_TO_DATE(product_sku,'%Y-%d-%m') = CURDATE() AND product_sku = '$order_item_sku'") or
die(mysql_error());

 

produces

2812 cancelled 1 tickets sku was 2011-10-02 
1 tickets released into 2011-10-02 
Affected rows 1

 

Why does it match it without DATE_FORMAT()

 

and how can I make UPDATE rows where the STR_TO_DATE >= CURDATE()

 

 

Thanks

Link to comment
https://forums.phpfreaks.com/topic/227225-date-comparison-weirdness/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.